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

Deferred shading, store position or construct it from depth

本文关键字:深度 构建 位置 存储 延迟      更新时间:2023-10-16

我在一个引擎中实现延迟着色的中间,现在我必须决定是否使用一个完整的RGB32F纹理来存储位置,或者从深度缓冲区重建它。所以它基本上是一个RGB32F texel fetch vs一个矩阵矢量乘法在片段着色器。还有内存和额外ALU操作之间的交换。

请告诉我有用的资源,并告诉我你自己在这个主题上的经验。

我认为最好从深度重新计算位置。这就是我在延时热机里所做的。重新计算的速度足够快,甚至在我分析渲染循环时都不会出现。与额外24MB的显存使用(对于1920x1080的纹理)相比,这(几乎没有性能影响)对我来说是一个容易的选择。