论文部分内容阅读
大规模水体与物体的交互是3D游戏、虚拟现实环境等实时应用程序中不可或缺的元素,但由于其仿真规模大而很难在实时条件下取得较高的真实感。为了快速真实地展示大规模水体与物体的双向耦合效果,本文提出一种适用于大规模水体与物体交互实时模拟的新方法。首先,由于大规模水体中水波形成机理不同,为了提高仿真效率,将水面波分为没有交互的环境波和交互产生的交互波来分别模拟。对于环境波的模拟,通过对海洋统计频谱进行基于快速傅里叶变换的反演求得水面高度场,对于交互波的模拟,应用快速稳定的Verlet积分法求解波动方程模拟交互波的扩散传播。其次,针对大规模水体中水面区域范围大的问题,引入具有良好LOD性质的Geomipmapping地形绘制算法使其可以实时地对大规模水面网格建模。为了解决带有动力的物体在水面运动引起的交互区域不确定的问题,提出一种适用于多重分辨率LOD水面的移动网格方法,不仅能够将交互波的区域确定在固定大小,而且能够使交互波与环境波无缝地过渡。再次,针对真实的物体与大规模水体双向耦合的机理过于复杂的问题,将双向耦合过程简化为两个独立的过程——物体对水的耦合和水对物体的耦合,分别对这两个过程进行模拟。提出一种新的基于体积守恒原理的波生成方法计算物体对水面的扰动程度,同时引入刚体动力学表现水面对物体的反作用效果。最后,利用专业图形程序接口OSG和高级着色语言GLSL设计并实现了实时大规模水体与物体交互仿真系统。