2.4 光源相机该怎么设置参数

image
我是用这些参数来构造光源处的相机,我尝试过把用场景相机的近平面、远平面乘上一些系数再加上一些偏移,但是效果都不太好,顶点的深度都会映射到一个非常小的范围里面,只有这么设置参数才会看到顶点的深度不会那么集中。如果直接用相机的近平面、远平面,顶点经过 MVP 变换之后深度都在 0.9,请问光源相机的视锥体取的很大有影响吗?
打印 shadow_map 却发现都是无穷大,


但是渲染出来的结果:

其他参数结果是这样:

depth_buffer 初值是 inf,说明这个地方没有任何东西,所以出现 inf 很正常
其实深度映射集中问题也不大,你可以把光源相机渲染的深度图打出来看看实际是什么样,我的光源相机 far_plane 只设置成了 200.0f,看起来都够用。


后面的图看起来有点像 shadow acne 的问题,需要调整 shadow bias,也可以使用根据光源和法线角度(注意法线插值问题)动态调整 bias 算法之类的。此外提高深度图分辨率也可以。
但最主要是你第一张图 cube 上都看不到 cow 的影子,我觉得你应该先把影子效果做出来再看失真问题。

但是我打印出第一个 pass 光栅化三角形时候各个点的坐标(屏幕坐标系下的 x,y 和深度)

发现好多个点的深度是一模一样的。

而且调整过后发现 shadow_buffer 还是没有更新

但是代码运行的时候有输出更新了 shadow_buffer

加上 bias 能消除条纹了

请问是需要使用平行光来生成阴影才可以吗?