当前位置: 首页 > 专利查询>姜雪伟专利>正文

一种基于GPGPU渲染的3D海水的仿真方法和仿真系统技术方案

技术编号:14882095 阅读:124 留言:0更新日期:2017-03-24 04:33
本申请提供一种基于GPGPU渲染的3D海水的仿真方法和仿真系统,所述仿真方法包括:通过中央处理器CPU进行初始化,动态生成海面网格;通过通用计算图形处理器GPGPU进行所述海面网格的并行化运算;通过所述GPGPU执行3D Kochin算法获取船只在海上航行的轨迹,并计算海水与海岸线的混合效果。本发明专利技术实施例,将所有的计算和渲染安排在GPGPU中进行,将海水模型计算和渲染在GPGPU中构成一个整体流程,减少内存和显存之间的通信,这样可以充分发挥GPGPU性能,大幅提升仿真效率。通过以上的方法,达到海水、海浪的渲染,反射、折射,船体轨迹的可视化效果真实感和仿真实时性的良好协调。

【技术实现步骤摘要】

本申请涉及数据处理领域,尤其涉及一种基于GPGPU渲染的3D海水的仿真方法和仿真系统
技术介绍
海水仿真时现在显卡显示的一个难题,由于其的反射、折射、形态变化等,使得海水的仿真非常困难。现有技术在海水仿真时其仿真度不够高,无法实现大海域的实时仿真,海浪的波浪起伏仿真度比较低,运行效率低下等。由于仿真算法不够理想,船只在海上航行没有明显的波浪效果,或者波浪效果通过特效实现的,仿真感比较弱。没有实现类似直升机在海面悬空时海面出现的波纹效果。而且不可以跨平台,只能在单一的平台上运行。
技术实现思路
有鉴于此,本申请提供了一种基于GPGPU渲染的3D海水的仿真方法和仿真系统,以解决现有技术仿真度不够的问题。具体地,本申请是通过如下技术方案实现的:本专利技术提供了一种基于GPGPU渲染的3D海水的仿真方法,所述仿真方法包括:通过中央处理器CPU进行初始化,动态生成海面网格;通过通用计算图形处理器GPGPU进行所述海面网格的并行化运算;通过所述GPGPU执行3DKochin算法获取船只在海上航行的轨迹,并计算海水与海岸线的混合效果。本专利技术还提供基于一种基于GPGPU渲染的3D海水的仿真系统,所述仿真系统包括:海面网格生成单元,用于通过中央处理器CPU进行初始化,动态生成海面网格;并行化运算单元,用于通过通用计算图形处理器GPGPU进行所述海面网格的并行化运算;轨迹和混合效果计算单元,通过所述GPGPU执行3DKochin算法获取船只在海上航行的轨迹,并计算海水与海岸线的混合效果。本专利技术实施例,将所有的计算和渲染安排在GPGPU中进行,将海水模型计算和渲染在GPGPU中构成一个整体流程,减少内存和显存之间的通信,这样可以充分发挥GPGPU性能,大幅提升仿真效率。通过以上的方法,达到海水、海浪的渲染,反射、折射,船体轨迹的可视化效果真实感和仿真实时性的良好协调。附图说明图1是本申请一示例性实施例示出的一种基于GPGPU渲染的3D海水的仿真方法的流程图;图2是本申请一示例性实施例示出的一种基于GPGPU渲染的3D海水的仿真系统的结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。如图1所示为本申请一示例性实施例示出的一种基于GPGPU渲染的3D海水的仿真方法的流程图,所述仿真方法包括:步骤S101,通过中央处理器CPU进行初始化,动态生成海面网格。在本专利技术实施例中,仿真系统首先通过中央处理器CPU进行初始化工作,申请用于的仿真的内存,并动态生成海面网格,其中,初始化包括但不限于:初始化统一计算设备架构CUDA(ComputeUnifiedDeviceArchitecture)设备、申请显存、创建网格海绵、创建VBO、LOD网格生成。步骤S102,通过通用计算图形处理器GPGPU进行所述海面网格的并行化运算。在本专利技术实施例中,仿真系统在动态生成海面网格之后,在GPGPU(GeneralPurposeGraphicsProcessingUnit,通用计算图形处理器)中进行该海面网格的并行化运算,其中,并行化运算包括但不限于:通过基于FFT的改进算法Gerstnerwaves方程计算特点时间点的海浪扰动场、通过傅立叶变换和统计波模型计算海浪产生的高度场、计算多个FFT海量边坡矢量波的高度场建模、计算傅立叶振幅波场实现任意波浪的生成、计算雅可比矩阵公式实现模拟浪花、泡沫和飞溅。上述并行化运算的结果将会输出到显存中。其中,各并行运算具体包括:(1)、所述通过基于FFT的改进算法Gerstnerwaves方程计算特点时间点的海浪扰动场,包括:假设时间t时刻在海水表面的任意一点(x,y)的波动叠加效果,计算公式如下所示:x=x0-(k/κ)Asin(k·x0-wt)y=Acos(k·x0-wt)其中参数k表示的是波向量,是一个波的水平向量。κ表示的是量级,它的计算公式如下所示:κ=2π/λ其中λ表示的是波的长度,w表示的是相对于波向量的频率,海浪是起伏不定的,而Gerstner波只是一个单一的正弦波,不能满足实现海水的需求,下面通过迭代公式将其叠加起来公式如下所示:ki表示的是波向量的集合,Ai表示的是振幅,wi表示的是频率,φi表示的是波的阶段。其中波的起伏行为是由频率wi决定的,其中w0的公式如下所示:其中T表示的是在海水的某个时刻,wi的频率公式如下所示:其中是量化的海水色散表面[[]]表示的是取整部分,w(k)表示的是海水的色散关系。它的计算表达式如下所示:w2(k)=gk(1+k2L2)其中g表示的是重力常量,L表示的波的单位长度。通过以上公式的计算海浪扰动就形成了。(2)、所述通过傅立叶变换和统计波模型计算海浪产生的高度场,包括:所述高度场的计算公式如下所示:其中t表示的是时间,x=(x,z)表示的是海水网格的水平位置,k是一个二维向量,k=(κx,κz),其中κx和κz的公式分别表示如下所示:κx=2πn/Lxκz=2πm/Lz参数m,n是整数,它的范围分别为:-N/2≤n≤N/2,-M/2≤m≤M/2,利用FFT算法过程生成高度场的离散点:x=(nLx/N,mLz/M)。以上公式完成了统计波模型高度场的计算,接下来求解改进版的菲利普斯波普方程求解高度场:其中,L=V2/g,参数V表示的是风的速度,g是重力常量,是风的方向,A表示的是数字常量表示的是垂直于风向的移动,其中参数l≤L。(3)、所述计算多个FFT海量边坡矢量波的高度场建模,包括:所述高度场建模的计算方程如下所示:参数Δx表示的是水平分离的2d向量。(4)、所述计算傅立叶振幅波场实现任意波浪的生成,包括:现实中的海浪都是随意的毫无规律的,在海浪仿真算法中也需要对其做任意波生成,接下来继续解傅立叶变换方程:其中参数ξr和ξi表示的是高斯分布随机数,高斯分布随机数倾向于遵循试验——精确海浪数据,当然其他可以使用随机数分布。接下来继续求解方程,在时间t时刻的傅里叶振幅波场实现方程如下所示:其中表示的波的滚动向左还是向右,最终计算出海浪的高度。通过以上方程就完成了公式的计算,将其运用到海浪的计算就可以产生逼真随意的海浪高度。(5)、所述计算雅可比矩阵公式实现模拟浪花、本文档来自技高网...
一种基于GPGPU渲染的3D海水的仿真方法和仿真系统

【技术保护点】
一种基于GPGPU渲染的3D海水的仿真方法,其特征在于,所述仿真方法包括:通过中央处理器CPU进行初始化,动态生成海面网格;通过通用计算图形处理器GPGPU进行所述海面网格的并行化运算;通过所述GPGPU执行3D Kochin算法获取船只在海上航行的轨迹,并计算海水与海岸线的混合效果。

【技术特征摘要】
1.一种基于GPGPU渲染的3D海水的仿真方法,其特征在于,所述仿真方法包括:通过中央处理器CPU进行初始化,动态生成海面网格;通过通用计算图形处理器GPGPU进行所述海面网格的并行化运算;通过所述GPGPU执行3DKochin算法获取船只在海上航行的轨迹,并计算海水与海岸线的混合效果。2.如权利要求1所述的仿真方法,其特征在于,所述仿真方法还包括:通过所述GPGPU渲染海水的反射效果和折射效果。3.如权利要求1所述的仿真方法,其特征在于,所述仿真方法还包括:通过所述GPGPU使用3D贴花原理渲染海水表层的漂浮物。4.如权利要求1~3任一项所述的仿真方法,其特征在于,初始化包括:初始化统一计算设备架构CUDA设备、申请显存、创建网格海绵、创建VBO、LOD网格生成。5.如权利要求1~3任一项所述的仿真方法,其特征在于,所述并行化运算,包括:通过基于FFT的改进算法Gerstnerwaves方程计算特点时间点的海浪扰动场、通过傅立叶变换和统计波模型计算海浪产生的高度场、计算多个FFT海量边坡矢量波的高度场建模、计算傅立叶振幅波场实现任意波浪的生成、计算雅可比矩阵公式实现模拟浪花、泡沫和飞溅。6.一种基于GPGPU渲染的3D海水的仿真系统,其特征在于...

【专利技术属性】
技术研发人员:姜雪伟
申请(专利权)人:姜雪伟
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1