优化水面合成~~

         参考了nVIDIA SDK里水面渲染的实现,决定使用一个单独的Pass来实现水面合成模拟。把合成操作移动到pixel shader中,渲染成为一张纹理,再由vertex shader直接采样这样纹理,进行顶点置换。
        最先决定把合成移动到pixel shader中是因为从高度域生成顶点法线,至少必须对周围额外两个点进行采样,才能计算差分。如果在vertex shader中实现,那么4张高度图就需要12次采样-_-#,必然会严重影响性能。而pixel shader中纹理采样的效率肯定要比顶点纹理高。
        此外,渲染局部扰动(比如爆炸,船的轨迹)也比较容易,只需把扰动纹理再渲染、叠加到这张生成的高度图上就可以了。
        另外,为了优化采样次数,偶把4张单通道的高度图合成为了一张4通道的高度图,这样只要3次普通的纹理采样就可以获得顶点合成以及计算法线所需的所有数据。
       继续编码。。。。。^^
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值