l 这周主要是研究了一下shadow map 算法。看起来简单,实现起来还真不容易。不过做出来以后回头一看,也没什么。
l 我的方法还比较笨拙,先绘制一遍场景,计算出深度,存储到一个纹理中。然后第二遍绘制的时候,把点用第一次绘制的时候的矩阵变换一下,读取出纹理中的值于变换后的z比较。期间遇见了奇怪的矩阵不一致问题,对于opengl中矩阵跟cg的矩阵有什么关系,还是不大清楚,为什么从opengl中读出的矩阵直接输入到cg中就不对呢,非要用他内置的变量呢?
l 大地形时锯齿现象还是比较严重,虽然采样了9个点,但是过度还是不那么自然。
现在模拟出来的现象,比较像点光源。跟透视投影有关吧,那么要是模拟太阳光,是不是就得用正交投影呢?
如果哪位大哥能帮助我解决这些疑问,不胜感激!
附几张效果图,给大家娱乐一下:)
加了消除锯齿的
未加消除锯齿的:)
下面是随意截得几个场景!