[发明专利]一种基于GPU的实时动态水面模拟方法无效

专利信息
申请号: 200810063008.7 申请日: 2008-07-04
公开(公告)号: CN101320480A 公开(公告)日: 2008-12-10
发明(设计)人: 潘志庚;潘卫敏;张明敏;刘剑锋 申请(专利权)人: 浙江大学
主分类号: G06T15/00 分类号: G06T15/00;G06T17/00;G06T1/20
代理公司: 杭州求是专利事务所有限公司 代理人: 张法高
地址: 310027*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 gpu 实时 动态 水面 模拟 方法
【说明书】:

技术领域

发明涉及虚拟现实技术和GPU技术,尤其涉及一种基于GPU的实时动态水面模拟方法。

背景技术

GPU是能够从硬件上支持多边形转换与光源处理的图像显示硬件。目前在GPU上进行的主要运算包括光照计算、深度检测、光栅化、反走样等。由于GPU采用的是单指令多数据的处理器设计模式,而且它不需要进行内存管理、对系统的输入输出作出响应等,所以它在图形处理方面的性能远远大于CPU。

在GPU的流水线中,包括两个可编程例程,一个是顶点着色器,另一个是片段着色器。在顶点着色器例程中,GPU载入每个顶点的位置、颜色、纹理坐标等属性,经过一系列的处理,最后输出变换后的顶点数据,还有一些纹理贴图坐标,这些数据作为片段着色器的输入,在片段着色器中,主要进行纹理的采样,最后输出该顶点的颜色。

在现实世界中,水体的运动无处不在,如河水的流动,海浪的运动。在计算机当中模拟水面效果,实际上是把水体的运动数据在计算机空间中数字化。它与真实感模拟的需求密不可分。目前,已经有多种方法对水体进行实时的模拟。在海洋模拟方面,Mastin在1987年提出了采用经验海洋频谱模型来表示自然界中海洋的方法。在交互的过程当中,它需要用户提供风速,然后使用改进的Pierson-Moskowitz频谱描述二维傅立叶域滤波器的形状。另一种方法是基于物理的模拟方法,主要是通过求解Navier-Stoke方程。它是流体力学中描述粘性牛顿流体的方程,也是目前最复杂的方程之一。在Navier-Stoke方程中,主要包括对流、压力、扩散和外力四项。目前对该方程的求解主要有半拉格朗日法,但由于目前GPU计算的局限性,以及该方法本身对数据存储及循环的特殊要求,完全满足实时性有一定的难度。

发明内容

本发明的目的是克服现有技术的不足,提供一种基于GPU的实时动态水面模拟方法。它所要解决的问题是在绘制场景的时候,实现场景中的一些特殊效果,比如建筑前面的水池。它的侧重点是在水面的效果,而不是水的物理特性的模拟,而且它还需要满足实时绘制的需求,不占用太多的渲染资源。

包括如下步骤:

1)使用HLSL语言编写基于Directx Shader的FX效果文件,在FX效果文件中同时包括顶点着色器和片段着色器;

2)在3DS Max中建立水池模型,水池模型包括池壁和池底,池壁是一个圆环,池底是一个圆形平面,其中池壁的材质采用磁砖贴图,池底的材质采用鹅卵石贴图;

3)在建好的水池模型当中,额外增加一个圆形平面,用于显示反射和折射颜色,圆形平面的大小和池底的大小一致,它的位置相对池底往上一点,圆形平面的材质采用DirectX Shader,在3DS Max的材质编辑器中选择已经编写的FX效果文件,按编辑器的要求选择法向贴图,并按照普通贴图的方法映射到网格顶点上,作为每个顶点的法向,此外,还设置反射纹理和折射纹理,避免在程序当中没有设置反射和折射纹理的情况下出错;

4)在三维应用程序中加载由3DS Max建立的水池模型,以及对应的FX效果文件,并设置FX效果文件的全局输入,全局输入包括变换矩阵,摄像机位置,当前时间片;

5)根据当前的摄像机位置,把场景渲染到帧缓存当中,并把它传递给FX效果文件作为折射纹理;

6)求得水平面的平面方程Ax+By+Cz+D=0,把摄像机变换到与水平面对称的位置,再次对场景进行渲染,把渲染得到的结果传递给FX效果文件作为反射纹理。

所述的使用HLSL语言编写基于Directx Shader的FX效果文件,同时提供顶点着色器和片段着色器步骤下:

(1)声明FX效果文件的输入纹理,以及它们的采样方式,这些纹理包括作为法向贴图的纹理、反射纹理和折射纹理;

(2)声明作为全局输入的变换矩阵、时间变量、摄像机位置的变量,以及它们的类型;

(3)编写顶点着色器例程,顶点着色器例程的输入是顶点的位置以及纹理坐标,在顶点着色器例程的内部,需要把顶点变换到世界空间中的位置,然后利用纹理坐标从法向贴图中得到该顶点的法向量,并对法向量添加扰动,其扰动幅度的计算公式如下:

D(t)=frac(α*t)            公式1

其中t是全局时间,α是浮点常量,frac函数是由GPU提供的小数部分截取函数,然后根据公式2和公式3计算每个顶点的反射和折射向量:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810063008.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top