论文部分内容阅读
在计算机真实感图形绘制中,水的模拟一般分为两个部分内容,动态建模和光影渲染。动态建模主要考虑水作为一种流体,没有固定几何形状,其建模是以一种物理模型的方式,往往还要考虑其周边环境对其的形状影响,例如河流、大海等不同环境的水的物理模型建立,通过物理模型动态求解其几何形状变化。在模型计算中,外界动态扰动以及自身波动的计算是其重要内容;而光影渲染侧重在于对水对光反射与折射的效果,这主要是由于水是透明的,对周围环境还有一个镜面效果。目前对于水的波动,特别是海浪的模拟已经有了比较成熟的模型和算法了,为了保证人们看到连续平滑的水波,则必须保证每秒钟至少应渲染20帧以上。常规的模拟算法要对水进行精确的模拟计算,其浮点计算量比较大,往往消耗了大量CPU资源。因此目前针对海浪的模拟还只能是在一个独立的演示程序中进行,很难应用到游戏引擎中。本文考虑把水波模拟过程中特别是光阴模拟部分,采用并行计算的方法,在GPU中进行,以便于充分利用GPU的计算能力,减轻CPU的负担。本文在水的渲染方面,基于后处理特效对光照模型、水折射和反射现象分别进行了研究与实现,大大增强了水模拟的真实性。本文首先系统分析了目前现有的水模拟相关模型和关键技术,并给出这些水模拟算法的实现过程以及特点。然后给出波浪运动背景理论知识,介绍了其中一些参数的计算方法,以及波浪谱,并对实时渲染技术和GPU编程技术进行了一定介绍。接下来介绍了本课题依托的PPE3D游戏引擎架构情况,并指出了本课题在引擎中所出位置,给出了本课题在PPE3D游戏引擎中的模块实现。在水的动态模型模拟方面,本文实现采用FFT方法,文中给出了其具体的实现内容。在此基础上,结合GPU所支持的实时真实感绘制方法,提出了水面基本光照模型,和光照建模与渲染的具体实现。最后介绍了本课题在PPE3D编辑器中的具体实现,对实验结果进行了分析,证明本课题实现的基于后处理特效的模拟的水是高效的,能够运动到实际游戏引擎以及游戏编辑器中。本文主要的研究工作主要在水波建模和渲染两个方面。在水波建模方面,本文除了用FFT算法来实现水波建模,还给出了深水波、浅水波、表面波在FFT算法基础上的实现。在水波渲染方面,本文采用的是基于后处理特效的方法在来实现光照渲染。为了提高渲染效率,本文光照的渲染处理都是在GPU上来完成,这样就大大减轻了CPU的负担,提高了效率。