2
我想寫一個需要每個像素僞隨機數生成的着色器 - 從紋理中提取太昂貴。按位替代
我發現的所有發生器都使用^,< <,&運算符,但我正在處理的着色器模型不支持這些運算符。這些操作符的數學等價物可以用來代替嗎?
僅供參考,我正在評估速度超過精度。
謝謝!
我想寫一個需要每個像素僞隨機數生成的着色器 - 從紋理中提取太昂貴。按位替代
我發現的所有發生器都使用^,< <,&運算符,但我正在處理的着色器模型不支持這些運算符。這些操作符的數學等價物可以用來代替嗎?
僅供參考,我正在評估速度超過精度。
謝謝!
其中,我知道的唯一一個數學等價物是<<
算子。即:
Ñ< < 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++
這可能有助於瞭解哪些整數運算符*可用? – 2011-05-16 17:10:26