1

我正在考虑将我的前向渲染器转换为延迟渲染器,但有一个问题我找不到(或无法概念化),那就是场景中所有灯光的累积方式。在前向渲染中,我会将所有灯光上传到着色器,但由于对象的大小不同,我被限制为 4 个。如何将累积的光信息获取到最终的复合着色器?我是否以与每个场景对象的渲染方式相似的方式渲染每个灯光?我见过一些将每个点光源渲染为球体的示例,但我看不出这种方法如何允许衰减。

4

1 回答 1

4

延迟着色的想法是,您在每个灯的一个屏幕大小的图像操作中进行照明计算,即为每个灯执行自己的延迟着色通道。光加起来,所以你使用加法混合模式(没有阿尔法通道,只是总结一下)。这也是为什么延迟着色仅适用于不透明几何体并且如果要应用于半透明几何体需要额外准备(如深度剥离场景)的原因。

于 2012-03-29T00:41:51.240 回答