我正在进行全向阴影贴图,有一点我无法理解的是在光照阶段,如何使用矢量来对立方图进行采样?
在阴影传递中我只使用深度值,所以我现在需要在同一个空间。但是,如何知道将六个视图矩阵中的哪一个(因为每个面都有一个)将世界空间位置转换为NDC空间?
例如,使用this作为参考,查看片段着色器有一个“light_view_matrix” - 但它是什么?光视图矩阵......什么面孔?我在阴影传球期间为每张脸生成了一张。
答案 0 :(得分:2)
实际上有一个关于使用可编程管道进行阴影映射的非常深入的教程,请查看Tutorial 16: Shadow mapping
网站上有关点灯的报价:
点亮灯
同样的事情,但深度立方体贴图。立方体贴图是一组6个纹理,在>立方体的每一边一个;更重要的是,它不是使用标准的UV坐标访问,而是使用3D矢量>表示方向。
存储空间中所有方向的深度,这样就可以在点光源周围投射阴影。