我在延迟渲染器中实现了全向阴影贴图,但在解决此问题时遇到了问题:
这是一张图片:
当我只是沿着每个轴指向正方向和负方向的六个聚光灯时,就会发生这种情况。我知道这个问题是由聚光灯计算引起的,它保持了光锥的照明,这就是为什么它是圆形的。
我的第一个想法是禁用锥形计算,但显然是因为如果你通过一个光线看到另一个光线会混合在一起会将光线混合在一起。如果我将光线渲染的几何体从圆锥形状更改为基于正方形的金字塔(我想我还需要做什么?)然后我就可以使用光锥体(我已经拥有)代替一个锥形计算来测试当前像素是否落在平截头体内,对吧?
如果是这样,有人知道在像素着色器中执行此操作的最佳方法是什么?我想只是检查点是否位于平截头体的每个平面前面,但这在像素着色器中看起来很昂贵。
答案 0 :(得分:0)
你有6个截头,但请注意
这意味着您只需要检查6个平面的像素IN TOTAL,以查看您需要访问的阴影贴图。