预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号(10)申请公布号CNCN103700143103700143A(43)申请公布日2014.04.02(21)申请号201310740504.2(22)申请日2013.12.30(71)申请人四川九洲电器集团有限责任公司地址621000四川省绵阳市科创园区九华路6号(72)发明人陈恩博莫世锋文静罗浩李硕(74)专利代理机构成都九鼎天元知识产权代理有限公司51214代理人徐宏(51)Int.Cl.G06T17/05(2011.01)G06F17/50(2006.01)权权利要求书2页利要求书2页说明书6页说明书6页附图2页附图2页(54)发明名称一种基于GPU多遍绘制的三维动态海洋模拟方法(57)摘要本发明提供一种基于GPU多遍绘制的三维动态海洋模拟方法,通过使用多个GPU绘制通道并利用OpenGL顶点缓冲区对象和transformfeedback技术,使用应用程序对顶点信息进行一次性输入,在GPU中完成顶点的计算、迭代、组装、渲染。本发明充分利用的GPU的强大并行计算能力,在保证海洋表面模拟的效果的同时,大大提高了模拟程序的运行效率和实时性。CN103700143ACN10374ACN103700143A权利要求书1/2页1.一种基于GPU多遍绘制的三维动态海洋模拟方法,其特征在于,该方法包括以下步骤:(1)通过建立GPU一直变量和使用顶点数组将顶点数据及绘制控制数据输入到GPU绘制通道中;(2)GPU绘制通道设有三个渲染通道和两个顶点缓冲区,三个渲染通道分别定义为Pass1、Pass2和Pass3,两个顶点缓冲区分别定义为VBO1和VBO2,Pass1绑定VBO1作为输出对象,Pass2绑定VBO2作为输出对象,Pass1、Pass2采用乒乓模式互为输入输出,VBO1和VBO2均作为Pass3的输入对象;在Pass1和Pass2中采用基于向量偏移的快速傅里叶算法对输入的顶点数据进行计算和修改;(3)Pass3读取VBO1和VBO2中的数据,判读数据是否是最新且可用的数据,如果判断满足,则进行步骤(4),否则返回继续等待;(4)Pass3中的图元着色器完成对顶点数据的组装,形成海洋表面数据,并将数据输入到片元着色器,片元着色器对海洋表面颜色、文理、材质、光照进行融合和混合计算,然后将绘制数据输出到显示设备。2.根据权利要求1所述的一种基于GPU多遍绘制的三维动态海洋模拟方法,其特征在于,步骤(1)中所述的顶点数据包括海面的长宽、波峰、波谷、纹理、材质、光照灯信息,所述的绘制控制数据包括海洋表面的模拟精度等级、风速、风向。3.根据权利要求1所述的一种基于GPU多遍绘制的三维动态海洋模拟方法,其特征在于,步骤(2)中所述的在Pass1和Pass2中采用基于向量偏移的快速傅里叶算法对输入的顶点数据进行计算和修改为:Pass1接收顶点数据及绘制控制数据,在Pass1的顶点着色器中,采用基于海浪谱的FFT的方法来对输入顶点进行计算和修改,对于海浪的生成采用如下公式(公式1)(公式2)(公式3)(公式1)是海洋频谱的计算式,(公式2)是海洋频谱的时间传播式,(公式3)是海浪的弥散关系方程,h(x,y,z)为海浪高度;海面高度场在以上公式的基础上,利用离散Fourier变换将其转换为离散形式,公式如下:(公式4)表示画面上某一点x=(x,y)在时间t时间的瞬时波高,其中是二维海面波浪向量,kx=2πm/LX,kY=2πm/Ly,LX×Ly为仿真海域的大小,n和m为整数,-N/2≤n≤N/2,-M/2≤m≤M/2,N和M是Fourier顶点等分点,必须使2的幂次方;经过Fourier变换后,可以得到海平面离散点x=(nLx/N,mLy/M)上的高度;通过以上公式对海面上海浪高度以及海面高度场进行计算,完成对海面三维顶点数据的计算和更新,同2CN103700143A权利要求书2/2页时在顶点着色器中,完成顶点着色,法向坐标生成,纹理坐标生成;Pass2的处理与pass1类似,只是pass2的输入对象为VBO1,输出对象为VBO2,该渲染通道在pass1的计算结果上,继续进行计算更新,与pass1形成迭代循环,保证数据的延续行和一致性;采用transformfeedback技术,实现Pass1与Pass2之间输入输出的转换。4.根据权利要求1所述的一种基于GPU多遍绘制的三维动态海洋模拟方法,其特征在于,步骤(4)具体为:在Pass3的顶点着色器中采用公式对海面顶点进行差值修正;然后在图元着色器中采用点绘制与图元生成分离的模式完成对顶点数据的组装形成海洋表面数据,并将数据输入到片元着色器;最后在片元着色器中实现对海洋表面颜色、纹理、材质、光照的融合和混合计算。3CN1037