[发明专利]一种基于GPGPU的天然气泄漏扩散的动态可视化方法有效
申请号: | 201710237761.2 | 申请日: | 2017-04-12 |
公开(公告)号: | CN107093207B | 公开(公告)日: | 2019-07-09 |
发明(设计)人: | 程若桢;陈静 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06T17/05 | 分类号: | G06T17/05;G06T15/04 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 严彦 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种基于GPGPU的天然气泄漏扩散的动态可视化方法,由CPU进行泄露扩散范围的顶点阵列生成处理,当CPU将t时刻泄露扩散范围的顶点阵列载入PBO后,针对下一扩散时刻执行顶点阵列生成处理并载入另一个PBO时,由GPU将顶点阵列从PBO传输到三维纹理对象并绘制处理,将浓度值体数据和顶点光照透射率体数据通过GPGPU计算写入三维纹理,通过采样三维纹理完成屏幕像素点颜色值计算,实现了天然气泄漏扩散条件下扩散浓度数据生成和基于球面的动态可视化一体化。本发明使用多尺度采样策略优化了纹理映射效率,利用CPU和GPU异步处理的特性提高了动态渲染性能,展示了天然气泄漏扩散过程中浓度分布的全貌和细节。 | ||
搜索关键词: | 一种 基于 gpgpu 天然气 泄漏 扩散 动态 可视化 方法 | ||
【主权项】:
1.一种基于GPGPU的天然气泄漏扩散的动态可视化方法,其特征在于:包括以下过程,首先,初始化绘制环境,使用OpenGL创建两个PBO和一个FBO,创建三维纹理对象和二维纹理对象用于存储GPGPU的计算结果,定义扩散坐标系和体素坐标系,初始化视点、光源在WGS84坐标系中的位置;设当前的扩散时刻为t,先基于CPU进行以下泄露扩散范围的顶点阵列生成处理,步骤a1,由CPU在扩散坐标系中,计算扩散时刻t时天然气分别在x轴、y轴、z轴的扩散距离Rx、Ry、Rz和扩散范围在x轴的最小值Minx;步骤a2,由CPU在扩散坐标系中,将扩散范围内的采样距离与三维场景的LOD级别相关联,在当前三维场景的LOD级别下以deltaX、deltaY、deltaZ的距离分别在x轴、y轴、z轴方向采样,生成t时刻泄露扩散范围的顶点阵列,并重新调整Rx、Ry、Rz,使得x轴、y轴、z轴方向的采样点个数均为2的整次幂;将扩散坐标系中泄漏扩散范围的体包围盒转换到WGS84坐标系,继而转换到世界坐标系中,得到世界坐标系中泄漏扩散范围的体包围盒;由两个平行平面与世界坐标系中泄漏扩散范围的体包围盒构建扩大之后的新的体包围盒,其中一个平面经过((Rx+Minx)/2,0,Rz)在世界坐标系中的对应点,另一个平面经过世界坐标系中泄漏扩散范围体包围盒底面的四个顶点;步骤a3,由CPU将t时刻泄露扩散范围的顶点阵列载入一个空闲的PBO,令t=t+deltaT,deltaT为时间间隔,针对下一个当前的扩散时刻返回步骤a1,执行步骤a1‑a3,将新的扩散时刻t泄露扩散范围的顶点阵列载入另一个PBO;当CPU将t时刻泄露扩散范围的顶点阵列载入PBO后,针对下一扩散时刻执行步骤a1‑a3时,由GPU将顶点阵列从PBO传输到与顶点阵列大小相同的三维纹理对象,并完成以下绘制处理,绘制两个长方体,将浓度值体数据和顶点光照透射率体数据通过纹理映射的方式在片段着色器中实现GPGPU计算,把计算结果渲染并输出到FBO,则浓度值体数据和顶点光照透射率体数据分别作为三维纹理被写入纹理缓存;绘制一个矩形,将屏幕点颜色值数据通过纹理映射的方式,结合对浓度值体数据三维纹理和顶点光照透射率体数据三维纹理的采样,在片段着色器中实现GPGPU计算,计算结果写入二维纹理并直接渲染到屏幕,实现了扩散浓度数据生成和可视化的一体化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710237761.2/,转载请声明来源钻瓜专利网。