贴几个之前那个水面模拟程序的图

远景1 高度119

远景2 高度119

远景3 高度536

 

近景 高度16

近景 高度20

近景 高度31

水底

 

水底光柱(godray)

说下其中的采用的技术,有兴趣的可以自己看看~~

合成水面的方法在 SIGGRAPH2001的《Simulating Ocean Water》里,它给出了基于风向的水面方程并提出了用FFT来快速求解方法;

Deep Water Simulation》这篇文章也不错,,程序中的水底刻蚀效果与水底体积光的实现方法就来源与这篇文章;

Real-Time Water Rendering》,采用了这篇文章中提出的用投影网格来实现无限海面的LOD以及一些水面渲染的方法

此外GPU GEMS2中的第18章给出了用vertex texture来实现实时水面的方法,GPU GEMS1的第一章也对水渲染有介绍 ,尤其是对choppy wave的方法有比较详细的叙述,

FFT的实现这里直接用了http://www.fftw.org/的一个DLL,在Real-Time Synthesis and Rendering of Ocean Water 里有介绍在GPU里实现的,实验结果是P4 2.0G和X800速度差不多,不过我没有试