点光阴影贴图和灯光着色器

时间:2014-04-18 11:31:51

标签: c++ opengl shadow

我正在进行全向阴影贴图,有一点我无法理解的是在光照阶段,如何使用矢量来对立方图进行采样?

在阴影传递中我只使用深度值,所以我现在需要在同一个空间。但是,如何知道将六个视图矩阵中的哪一个(因为每个面都有一个)将世界空间位置转换为NDC空间?

例如,使用this作为参考,查看片段着色器有一个“light_view_matrix” - 但它是什么?光视图矩阵......什么面孔?我在阴影传球期间为每张脸生成了一张。

1 个答案:

答案 0 :(得分:2)

实际上有一个关于使用可编程管道进行阴影映射的非常深入的教程,请查看Tutorial 16: Shadow mapping

网站上有关点灯的报价:

  

点亮灯

     

同样的事情,但深度立方体贴图。立方体贴图是一组6个纹理,在>立方体的每一边一个;更重要的是,它不是使用标准的UV坐标访问,而是使用3D矢量>表示方向。

     

存储空间中所有方向的深度,这样就可以在点光源周围投射阴影。