我已经达到了为单个光源实施延迟渲染和阴影映射的地步。我期待添加更多的光源,以了解延迟渲染如何提高性能,但是我意识到这次阴影映射几乎毁了它。
这是预期的吗?有许多光源时,我应该使用其他阴影算法吗?
我要做的是从每一个光源的角度创建一个立方体贴图。然后,当在延迟渲染着色器中渲染片段时,我会考虑到每种光对该片段有多少贡献,这意味着该片段可以看到哪些灯光。因此,这只是对片段是否在光源阴影中的常规检查。
答案 0 :(得分:3)
通常来说,阴影与光的数量不能很好地缩放。可以容忍一两个阴影投射灯,但超过此数量将严重影响您的性能。几乎所有通用照明机制都是如此(也许是基于光线跟踪的阴影除外)。
延迟渲染不会改变数学。您仍然必须从每个阴影光源的角度渲染场景,并且照明通道仍必须从这些纹理中获取以进行阴影。
典型的解决方案是将阴影投射灯的数量限制为一次光源,而可能为次光源。其他一切都不会蒙上阴影。