软阴影的实现

按照那篇英文文档的方法,实现了一边软阴影,做出来的还是有点问题,可能主要是集中在那个PCF上,使用的取周围像素阴影平均值的方法,但是很明显,周围的点的深度和当前点的深度并不一样,而我们比较的阴影值仍然是使用的当前点的深度,因此会出现误差,这个误差我是自己调的,但是这样不好。然后我们再把阴影图片用Gussian Filter 进行使用两个一维卷积模糊一下,这样可以消除些锯齿,但是仍然不能完全消除,至于Z fighting是无论咋样也还是有,注意Gussian Filter的U,V的次数不能太多,不然会造成图像的偏移。现在说说主要过程。
1.渲染深度图。
2.使用PCF将带硬阴影的场景渲染出来。
3.对阴影图进行Guissian Filter模糊
4.渲染最后的场景并将3中的深度因子加到我们的最后场景中去。

过程很简单,但是实现起来确是非常麻烦,建议逐过程地测试效果。


这是做出来的效果图。只加了个Diffuse漫反射光。代码很烂,没有做任何优化工作,清理工作也没做。 /Files/ttthink/MySoftShadow.rar

转载于:https://www.cnblogs.com/ttthink/archive/2009/10/07/1578705.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值