本文是为了向计算机图形学的程序员和设计师介绍、模拟动画,
渲染海水环境的方法。在视觉效果中计算机图形学的所有水平,从平面媒体到剧情片,CG水已经是一个常用工具。、商业产品现在可用于几乎任何计算机平台、并且工作环境、除了一些公司持有的专用工具外,可以产生高质量的几何体和图像。为了让设计师开发出效益最大化的工具,重要的是了解,他或她要熟悉概念,术语,一些海洋学,和当前的技术发展水平。
正如电影《未来水世界》和《泰坦尼克号》的先驱努力证明的,还有大概自从1995年后拍摄的几个其他电影,CG水图像可以被生产的具有高度的现实性。但是,这种水平的现实性受限于相关的平静温和的海水环境。具有大量喷雾、翻滚的波浪、泡沫、浪花和尾纹的环境也正在接近相同逼真的外观。
概况地讲,渲染器应该脱离这些材料:
(1)一些算法的理解,这些算法可以产生/动画水面高度区域,这些区域适合建模如暴风雨爆发一样大并如微小的毛细血管一样小的波浪的;
(2)对水面发射和折射的基本光学过程的理解;
(3)海水颜色过滤行为的介绍;
(4)对被称为是caus-tics和godrays的复杂光照效果的介绍,这种效果是当太阳光穿过粗糙表面进入到水容量下面后产生的;
(5)一些经验法则,哪个选择会创造好看的图像,相对于计算资源的质量的权衡是什么。
在正式投入之前,首先我希望更集中于在这些说明中我们涉及到(或没有涉及到)的海水环境的方面。上图是从水、空气、和云彩的摩尔数中生成的一个oceanscape的渲染。云彩的光是从水面反射的。在最左边,太阳反辉也是出现的。通常水的蓝色是由蓝色天空光的反射,和从水容量中散射出水面来的光造成的。虽然这些说明没有处理云和空气的模型和渲染,但是讨论了来自云和空气的天空光是如何从水面反射或折射的。这些说明将告诉你如何制作一个如图所示的细节和质量的海浪的高度场位移映射的表面。该说明还讨论了水下环境的一些影响,以及如何建模/渲染它们。主要的四大效果是阳光光束(也叫godrays),在水下表面的caus- tics,由光散射的模糊和颜色滤波。
还有很多其他没有涉及到的海水环境的复杂有趣的方面。包括拍打的波浪、喷雾、泡沫,在水里围绕物体的尾迹,主体海水冲击水面的浪花,和整个海洋大气环境的全局照明。在这些主题中正在进行实质研究,所以这个的未来版本或者说讲义将可能包括这些。我已经收录了能够产生汹涌波浪的基本波浪高度算法的先进修改版本的简要章节。该修改版本确实可行地对拍打波浪的表面部分有一个完整的描述,并且也可能用于驱动喷雾和泡沫动力学。
当然,在海洋表面的模拟和动画方面有大量的相关文献,无论是在计算机图形界还是在海洋学。在计算机图形学方面水波的起初描述之一是由Fournier and Reeves提出的,他们使用一种所谓的Gerstner waves的水面模型仿造了一个可以产生波浪的海岸线。在同一问题上,Darwin Peachey提出了在这一方法上的改进,使用非正弦曲线的基本形状。
在海洋学中,海洋光学成为20世纪40年代研究的一个集中话题。S.Q.Duntley发表于1963年的论文中包含了相关计算机图形的光学数据。工作一直持续到今天,光学海洋学领域已经成长为一个成熟的包含分支学科和许多不同应用的定量科学。Curtis Mobley就写了一篇关于科学现状的优秀评论。
在这些讲座中,我们采用的创建水面波浪的方法和Masten、Watterberg、and Mareda概述的相近。这种方法利用快速傅里叶变换(FFT)合成了一片海浪,用户可以控制大小和分辨率,并且可以在很大的区域无缝地被平铺。每一片包含许多个八度的正弦波,在每一点的所有加起来产生合成的高度。然而,正弦曲线的振幅和相位的混合,来自以经验为基础的海洋模型的统计。然后令这些正弦曲线看起来像波浪而不是一大串正弦波,就是大量正弦曲线集合的使用,正弦曲线的相对幅度,和他们使用频散关系,从而形成
3d模型库水面波浪的动画。