Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在为 XBOX 360 开发,我在一些光照计算中使用 pow() 内在函数。
6-8 年前,通常使用一维查找纹理来近似 pow()。还有人这样做吗?
对于 6 岁的 XBOX 360 是否值得尝试,还是不太可能提高性能?
使用pow指令(或 HLSL 中的等效内在函数)。它需要 3 个指令槽,这表明它相当快。
pow
我还没有坐下来计算出查找表的确切成本。但是您将很难在更少的指令槽中找到有用的实现。显然,它需要读取纹理(它本身不是免费的,而且很有可能是依赖纹理读取,因此非常慢)。
(另外:如果查找纹理是更好的选择,那么 GPU 可以pow自己实现这样的指令。)
过去使用纹理很常见的原因是着色器模型 1.xpow中不存在用于顶点着色器或像素着色器的指令。在 2.x 和所有更新的版本中都可以使用(更多指令集)。