|
|
1
2
首先,我不喜欢“阴影强度”或组合阴影的想法。阴影是缺乏光线的。只在有光的地方添加灯光,不需要担心阴影。实际上,这仅仅意味着在应用每个灯光时应用阴影。 可以使用多个视口扩展和几何体着色器同时渲染到多个阴影贴图。还可以使用实例化和渲染到纹理阵列。 “OpenGLInsights,第19章-具有分层渲染的大量阴影投射灯光”(因为我是同一本书另一章的作者) 大多数游戏所做的就是实现某种可见性数据结构,这样你就不必绘制那些你知道不可见的东西。这在渲染阴影贴图时非常有用。您可能希望尝试对同一灯光可见的几何体进行分组,并在一个过程中渲染这些灯光的阴影贴图。这样,可以最小化渲染的几何体数量,而不会影响阴影。如果在场景的完全独立区域中通常有带阴影的灯光,则可见性数据结构将比多视口渲染节省的顶点处理时间更重要。 使用延迟渲染渲染灯光通常不会使用单个全屏四边形完成。延迟着色的主要优点之一是能够定位照明贡献。在最基本的层次上,在可能被灯光照亮的像素上绘制一些几何图形,例如一个小正方形或圆形。然后,只有这些像素的片段着色器才能进行任何昂贵的照明计算。接下来,您可以通过按深度限制碎片来开始更多的剔除。使用表示灯光影响体积形状的网格非常常见。 一些相关的链接(只是我在谷歌上搜索那些看起来没有特别顺序的东西)。。。
|