许多光源的阴影映射 - 它很慢



我已经达到了为单个光源实现延迟渲染和阴影映射的地步。我期待添加更多光源,看看延迟渲染如何提高性能,但我意识到这次阴影映射几乎毁了它。

这是意料之中的吗?当有许多光源时,我应该使用另一种阴影算法吗?

我所做的是从每个光源的角度创建一个立方体贴图。然后,在延迟渲染着色器中渲染片段时,我会考虑每个光源对该片段的贡献程度,即片段可以看到哪些光源。因此,这只是对片段是否在光源阴影中的正常检查。

一般来说,阴影不能随着灯光的数量而很好地缩放。可以容忍一两个阴影投射灯,但超过此会严重影响您的性能。几乎所有通用照明机制都是如此(基于光线追踪的阴影除外)。

延迟渲染不会改变这方面的数学。您仍然必须从每个阴影光源的视角渲染场景,并且您的光照通道仍然必须从这些纹理中获取以进行阴影。

典型的解决方案是将投射阴影的光源数量限制为主光源,也可能限制为辅助光源。其他一切都不会投射阴影。

相关内容

  • 没有找到相关文章

最新更新