首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

Windows 八 Directx 开发学习笔记(七)水波纹的实现

2012-11-25 
Windows 8 Directx 开发学习笔记(七)水波纹的实现使用DirectX实际开发中,模型的形状不可能都是一成不变,只

Windows 8 Directx 开发学习笔记(七)水波纹的实现

使用DirectX实际开发中,模型的形状不可能都是一成不变,只依靠移动摄像机去实现动画。这里用实时更新顶点缓冲的方式生成一个水波模型,最终效果类似向水面扔石子时出现的水波纹。有了上一篇建立好的模型,实现这个效果仅需要更改WaterModel类和Renderer类里m_water的相关调用。

首先更改WaterModel的头文件,添加模拟变量成员和临时缓冲区指针,并增加两个方法Disturb和Update,整个类代码如下:


从整个过程来看,最重要的是模拟水面波动的算法,其他部分只是调用API,完成固定的渲染流程而已。因此只要完成算法,不管在哪个版本的DirectX里都可以使用。为了达到更真实的效果,还可以考虑石子的大小,入水时的力度等等。

热点排行