【问题标题】:Shadow mapping for many light sources - is it slow?许多光源的阴影映射 - 它很慢吗?
【发布时间】:2018-12-26 13:33:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: opengl shadow-mapping deferred-rendering


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多