海水虚拟仿真技术(完整版)

**由于头条号链接出现问题,现将内容迁移过来**

虚拟海水仿真技术一直是虚拟领域研究的难题,海水仿真在游戏开发、虚拟海战、航海模拟等应用的非常广泛。许多科研机构也投入了大量的资金和人员去研发。笔者自己研发了一个关于海水实时仿真的引擎,基于GPGPU实现的,效果可以达到CG的水平。在其中运用了大量的数学运算,如何更逼真的实现海水的仿真,重点需要解决几个重点问题:
第一、是仿真真实海水在不同气候下的海浪效果;
第二、是要仿真真实海水的高光、反射以及折射效果;
第三、是要仿真船在海中航行的轨迹效果;
第四、是海水中的物体随海浪滚动自由上下浮动
第五、是解决海水靠近岸边有层次的滚动
笔者实现的海水引擎也是围绕这五方面的技术实现的,在给读者说原理之前先展示一下海水的效果图片,图片对应的也是上面五个技术点。
海水虚拟仿真技术(完整版)_第1张图片
仿真海浪效果图
海水虚拟仿真技术(完整版)_第2张图片
船在海水中航行轨迹效果图
海水虚拟仿真技术(完整版)_第3张图片
海水的反射折射效果图
海水虚拟仿真技术(完整版)_第4张图片
随海水上下浮动效果图
海水虚拟仿真技术(完整版)_第5张图片
海水靠近岸边呈现效果图
该海水仿真实现的步骤如下所示:
1、在CPU中进行初始化工作,申请内存,动态的生成海水网格。
2、在GPGPU中计算海浪的生成,采用的是并行计算。该算法是基于FFT的改进算法Gerstner waves实现的。
3、接下来利用傅立叶变换和统计波模型计算海浪产生的高度场。
4、生成波涛汹涌的海浪效果,这个主要是实时模拟浪花,泡沫,飞溅等效果,求解雅可比矩阵公式计算得到。
5、最后使用GPGPU对海水的高光、反射以及折射效果进行渲染。

最后欢迎访问IT小屋:姜雪伟个人主页

你可能感兴趣的:(海水虚拟仿真技术(完整版))