地表渲染过程中,使用不同技术得到的效果比较

通常在网络游戏的地表渲染中,都是使用4层纹理混合的方式来实现地表的混合,加上混合层,一共5层纹理。但这样得到的结果通常比较呆板,效果并不佳。如下图所示:



可以看出,如果仅仅使用顶点光照+纹理混合,得到的画面感觉很平,而且能够提供的细节非常少。因此,我们考虑在地表纹理的a通道内增加地表纹理的高度数据。这个数据可以由美术生成,也可以由程序自动生成。不过通常程序自动生成的数据并不精确。有了高度数据,我们就可以做很多事,可以在ps中通过4层纹理的平均高度,以及相邻像素的平均高度来计算法线。然后我们可以将光照计算迁移到ps中来实现。带像素光照的效果如下图所示:




在ps阶段有了像素法线,再通过像素光照计算,得到的效果的确优于顶点光照得到的效果。不过最终渲染出来的效果看起来还是缺乏一些质感,看起来比较别扭。可以考虑在ps阶段增加视差,因为在ps阶段计算光照,那么在ps阶段增加视差就仅仅需要增加一个简单的步骤,就能得到非常好的效果。极大的提升整个画面的品质。如下图所示:




上图可以看出,效果已经得到了极大的改善,砖的渲染效果十分明显。而且对fps的影响有限。不过视差算法会带来一个额外的问题,就是在地表有尖锐突击的地方,会出现分界线。如果用视差剔除算法,可以解决这个问题,而且效果更好。但是,视差剔除的本质是类似于光线追踪,虽然能提升图形的效果,但也极大的降低了帧率。如下图:




POM得到了非常真实的质感,可惜帧率只有20多帧。POM的算法是微软sdk内的算法,其实还是有优化的余地。


测试用的显卡是nvidia 9600 gso

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值