专利名称:基于gpu的海浪特效实时渲染的制作方法
技术领域:
本发明涉及计算机图形技术领域,更具体地说,涉及骨骼动画渲染的优化方法。
背景技术:
海洋场景仿真是实时视景仿真系统的重要组成部分之一。与地形仿真相似,海洋仿真同样具有范围广阔的特点,与地形仿真不同的是,海浪特征的仿真还具有高度随机性和形态复杂性的特点。海浪仿真的重难点为海浪高度场生成、海浪网格构建以及海浪特效生成等。
水面在计算机图形学,特别是游戏中,是一种常见的效果。它是增加场景真实性的重要元素之一。但要模拟真实的水面,却是一个难题,因为水面的运动和光学效果都相当复杂。对水面动画和渲染来说,已经发展出多种方法。其中,最出名也是效果最真实的,就是基于流体动力学和快速傅立叶的方法(FFTs)。这些方法可以提供非常真实的渲染效果,但不幸的是他们需要相当大的计算量,因此,不适合于交互式的实时渲染。此外,现在大多数游戏使用的都是相当简单的模型,大部分方法仅仅是通过改变水面法线创建水面效果。使用这些方法渲染水面,虽然相当高效,但真实度很低,而且并没有真正在水面产生任何波纹。
发明内容
本发明要解决的技术问题在于,在产生高真实感的水面的前提下,采用了Shaderf. O中的顶点纹理技术,提供本发明提出了一种综合了两种方法优点的技术来渲染水面,最大化的减少了计算量。为了实现上述目的,本发明所采用的技术方案是本发明提出基于GPU的海浪特效实时渲染,其步骤如下
1)根据需求的水面效果,由美工制作相应的波纹Bump图,用作水面高度的模拟;
2)使用不同的空间和时间缩放比例,混合多张高度图,获得相当复杂的水面动画效果;其公式如下
N ..
H (.V, y, t) = ^ hI /I/\v + Bxt . Af γ + j5/ , A^r — B- |,
/=O +
3)在顶点着色器中对顶点进行世界坐标到屏幕坐标的转换,输出给像素shader。所述需求的水面效果为波涛汹涌的海量或平静的湖面。本发明主要采用顶点纹理技术,在顶点Shader中的水面的网格高度进行扰动,并通过读取法线和高度的Bump最大化的减少了计算量,达到了真实效果。同时针对顶点纹理过滤较耗的特性,优化存储了高度图,大大减少纹理寻址的次数,水面渲染将依赖于法线图(normal map)来进行光照计算。因为法线图可以忠实的重现高频率波形下的所有细节。此夕卜,使用低频率、高振幅的波对水面网格进行扰动。水面模型基于多张,在空间和时间上都进行了分割的高度图的重叠。
具体实施例方式基于GPU的海浪特效实时渲染,其步骤如下
1)根据需求的水面效果,由美工制作相应的波纹Bump图,用作水面高度的模拟;
2)使用不同的空间和时间缩放比例,混合多张高度图,获得相当复杂的水面动画效果;其公式如下
权利要求
1.基于GPU的海浪特效实时渲染,其步骤如下 1)根据需求的水面效果,由美工制作相应的波纹Bump图,用作水面高度的模拟; 2)使用不同的空间和时间缩放比例,混合多张高度图,获得相当复杂的水面动画效果;其公式如下
2.根据权利要求1所述的基于GPU的海浪特效实时渲染,其特征在于所述需求的水面效果为波涛汹涌的海量或平静的湖面。
全文摘要
本发明涉及计算机图形技术领域,更具体地说,涉及骨骼动画渲染的优化方法,根据需求的水面效果,由美工制作相应的波纹Bump图,用作水面高度的模拟;采用顶点纹理技术,在顶点Shader中的水面的网格高度进行扰动,并通过读取法线和高度的Bump最大化的减少了计算量,达到了真实效果。同时针对顶点纹理过滤较耗的特性,优化存储了高度图,大大减少纹理寻址的次数,水面渲染将依赖于法线图(normalmap)来进行光照计算。因为法线图可以忠实的重现高频率波形下的所有细节。此外,使用低频率、高振幅的波对水面网格进行扰动。水面模型基于多张,在空间和时间上都进行了分割的高度图的重叠。
文档编号G06T13/60GK103021010SQ201210503509
公开日2013年4月3日 申请日期2012年12月1日 优先权日2012年12月1日
发明者王爽 申请人:王爽