论文部分内容阅读
在计算机图形学领域,研究人员一直努力利用计算机再现身边的真实世界。水面模拟作为自然景物模拟的一个分支,一直以来都是计算机图形学中的热门研究课题之一。水面约占地表面积的70%,水的运动和水所形成的光影效果在日常生活中非常常见。在影视动画、虚拟现实系统和电脑游戏等领域中均可以看到大量虚拟的水面场景,这些场景给观众或用户带来了极大的真实感和沉浸感。因此对水的模拟有着广泛的应用价值。 本文在进行水面模拟时兼顾了实时性和真实感,使得绘制出的水面具有逼真的效果又有较高的刷新率。本文所做的工作和创新点如下: (1)提出了基于视点镜像的纯纹理水面绘制方法。水面仅由一个矩形平面构成,水面的折射、反射、波纹和流动等效果均使用纹理映射技术来实现。在获取水面反射纹理时,以水平面为参考面做视点的镜像,实时地将水面以上的景物渲染成反射纹理。该方法使得二维平面产生三维的水面效果。虽然牺牲了水面的细节,但是增加场景的复杂度后水面的绘制速率依然很高,可用于对真实感要求不是非常高的虚拟现实系统中。 (2)提出了基于邻域速度传播的水波生成与扩散算法。采用邻域传播的思想,为每个水结点增加一个速度属性,推导出水面受到扰动后,水波的演变公式。在水波渲染方面,实现了水波透明、折射及反射效果。该算法能很好地模拟现实中的水波,绘制速度也很快,可用于三维水现象模拟、动态水面仿真等领域。 (3)提出了三维柏林噪声与位移贴图相结合的水面生成算法。使用圆形网格表示水平面,将三维柏林噪声中的一个轴作为时间轴,在预处理阶段构造一系列连续变化的噪声图像作为水面高度场的激励源。在实时绘制时,使用位移贴图技术将噪声图像映射到圆形网格的相应顶点来获得水面的高度,避免了对每个网格点进行噪声计算。最后实现了水面对天空、景物和太阳的反射效果,并添加了泡沫来增强水面的真实感。在普通PC机上,绘制约40万个三角形,绘制速度能达到75fps左右,具有很高的绘制效率。