延迟着色,存储位置或从深度构造它

时间:2015-10-14 10:23:29

标签: c++ opengl glsl deferred-rendering deferred-shading


即时通讯正在我正在进行的引擎中实现延迟着色,现在我必须决定是使用完整的 RGB32F 纹理来存储位置,还是从深度缓冲区重建它,所以它基本上是 RGB32F 纹素提取与片段着色器中的矩阵向​​量乘法,也是内存和额外ALU操作之间的交易,
请将我重定向到有用的资源,并告诉我你自己的主题经验。

1 个答案:

答案 0 :(得分:1)

在我看来,最好从深度重新计算位置。这就是我在延迟引擎中所做的事情。重新计算的速度足够快,甚至在我分析渲染循环时都没有出现。与大约24MB的额外视频内存使用(对于1920x1080纹理)相比,这(几乎没有性能影响)对我来说是一个简单的选择。