Clayman的专栏

XNA, GPU Programming & Game Engine Design

动画调整

       昨天调整了水面动画效果。最先的想法以为只要对两张Height Map采样的高度图进行线性插值就可以(lerp(dp_height0, dp_height1,sin(time));),结果发现效果实在不理想,波形模式太明显。多次尝试之后,发现顶点纹理采样坐标不能是固定的,应该随时间做改变,这样不仅能消除模式,而且可以定向控制水的流速。较大的改变量可以模拟快速流动的水体,比如河流;而叫小的改变则适合湖水或平静的海面。此外,普通纹理坐标的采样也应该是动态的,但和顶点纹理坐标的改变量应该是不同的,否则,给人的感觉像是一个静态几何体在做水平运动-_-。还需要保证所用的Height Map是无缝的,否则在循环采样的情况下,接头处会出现明显的不连续。Height Map的选择也比较重要。纹理中不应该包含频率太高的波形,否则两张纹理混合出的效果会不太真实。
       呼呼,今天开始实现反射和折射的效果鸟~~~
       

阅读更多
个人分类: GPU程序设计
上一篇水面渲染
下一篇优化水面合成~~
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭