2011-05-16 41 views
2

我想寫一個需要每個像素僞隨機數生成的着色器 - 從紋理中提取太昂貴。按位替代

我發現的所有發生器都使用^,< <,&運算符,但我正在處理的着色器模型不支持這些運算符。這些操作符的數學等價物可以用來代替嗎?

僅供參考,我正在評估速度超過精度。

謝謝!

+0

這可能有助於瞭解哪些整數運算符*可用? – 2011-05-16 17:10:26

回答

0

其中,我知道的唯一一個數學等價物是<<算子。即:

Ñ< < X = N *(2,4,8,16,32,64,128,256,512,1024,等)

例如

Ñ< < 5 = N * 32

只需創建爲值(2^X)的查找,並且通過該值相乘。

其他將會變得更加複雜,並且可能需要您編寫算法來解決它們。我不認爲他們有任何直接的數學等價物。

C運行時實現的源代碼可能對此有用。或者只是搜索算法來實現每個算法,例如:Fast implementation/approximation of pow() function in C/C++