开发者

Pow function vs lookup texture in shader

I'm developing for the XBOX 360, and I use the pow() intrinsic in some lighting calculations.

6-8 years ago 开发者_开发问答it used to be common to use a 1D lookup texture to approximate pow(). Does anyone still do that?

Is it worth trying this for the 6 year old XBOX 360, or is it unlikely to improve performance?


Use the pow instruction (or the equivalent intrinsic function in HLSL). It takes 3 instruction slots, which indicates that it is reasonably quick.

I haven't sat down and figured out the exact cost of doing a lookup table. But you would struggle to find a useful implementation in fewer instruction slots. And obviously it requires a texture read (which is itself not free, and there's a good chance it will be a dependent texture read and so quite slow).

(Additionally: if a lookup texture were a better choice, then the GPU could just implement the pow instruction like that itself.)

The reason that it used to be common to use a texture is that the pow instruction did not exist for either vertex or pixel shaders in shader model 1.x. In 2.x and everything newer it is available (more instruction sets).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜