Opengl 许多光源的阴影贴图-速度慢吗?
我已经到了为单个光源实现延迟渲染和阴影映射的地步。我期待着添加更多光源,看看延迟渲染如何提高性能,但我意识到阴影贴图这次几乎毁了它 这是意料之中的事吗?当有许多光源时,我应该使用另一种阴影算法吗Opengl 许多光源的阴影贴图-速度慢吗?,opengl,shadow-mapping,deferred-rendering,Opengl,Shadow Mapping,Deferred Rendering,我已经到了为单个光源实现延迟渲染和阴影映射的地步。我期待着添加更多光源,看看延迟渲染如何提高性能,但我意识到阴影贴图这次几乎毁了它 这是意料之中的事吗?当有许多光源时,我应该使用另一种阴影算法吗 我所做的是从每个灯光的角度创建一个立方体贴图。然后,在延迟渲染着色器中渲染片段时,我会考虑每个灯光对该片段的贡献程度,这意味着片段可以看到哪些灯光。所以,这只是一个普通的检查片段是否在光源的阴影中 一般来说,阴影不能很好地随灯光的数量缩放。一个或两个阴影投射灯光是可以容忍的,但超过这个数量会严重影响你的
我所做的是从每个灯光的角度创建一个立方体贴图。然后,在延迟渲染着色器中渲染片段时,我会考虑每个灯光对该片段的贡献程度,这意味着片段可以看到哪些灯光。所以,这只是一个普通的检查片段是否在光源的阴影中 一般来说,阴影不能很好地随灯光的数量缩放。一个或两个阴影投射灯光是可以容忍的,但超过这个数量会严重影响你的表现。几乎所有通用照明机制都是如此(除了基于光线跟踪的阴影) 延迟渲染不会更改此上的数学。您仍然必须从每个阴影光源的角度渲染场景,并且您的照明过程仍然必须从这些纹理获取阴影 典型的解决方案是将阴影投射灯光的数量限制为主光源,也可能是次光源。其他一切都不会投下阴影