一种基于投影网格的海洋表面建模及实时光照方法

文档序号:6609348阅读:748来源:国知局
专利名称:一种基于投影网格的海洋表面建模及实时光照方法
技术领域
本发明涉及一种基于投影网格的海洋表面建模方法和实时光照方法。
背景技术
水流、海面、海浪、烟雾、火焰等现象具有复杂的运动规律,无法用常规方法来对其进行几何建模,对这些现象的仿真在在计算流体力学(CFD)领域一直是研究的热点。而在计算机图形学领域,则主要结合物理控制方程以及几何建模和绘制方法,按照时间的推移逐推演出流体的运动形式,并从视觉上来实时模拟这些现象。目前最常用的流体模拟方法主要分为欧拉网格法和基于粒子的拉格朗日法,这些方法起源于流体运动的物理模型,井随着硬件计算能力的提高,逐渐在虚拟现实领域得到 重视。物理学中,Navier-Stokes方程描述了流体运动的真实规律。他建立了流体各种属性之间的关系,包括粒子动量的变化率(加速度),作用在液体内部的压カ的变化,耗散粘滞力(类似于摩擦力)以及重力等外力作用之间的关系。为了能够实时更新流体的状态,需要对整个“场”中的每ー处进行实时更新,在计算ー个量如何沿着速度场移动时,若采用欧拉网格方法,可以将每个网格单元的坐标点处看成是ー个相应的粒子,与基于粒子的拉格朗日法不同的是,网格中粒子的位置并不随流体的运动,流体所受到的外力作用而变化而是将自身的ー些属性信息传递给相邻网格的粒子。Eric Bruneton, Fabrice Neyret使用Gerstner波对流体表面进行建模,并使用三角函数实现海洋表面的动态波动,根据距离视点位置的远近,可为处于不同距离的空间位置赋予不同的权值,使得波的高度随着距离的增加而衰减,直到无限远处的停止波动;而整个流体表面则用若干条三角函数叠加构成,将一定的流体区域投影到视ロ空间,根据风场的大小为不同空间设置不同的高度来实现流体表面的动态效果。Cem Yuksel和Donald
H.House等人基于波粒子的概念将波粒子转化成高度场表面,提出了一种全新的方法来实时模拟流体水面和漂浮物体间相互作用所产生的波紋。这种方法简单,效率高,并且对波粒子的模拟非常稳定,适用于大多数有边界的流体模拟。Nils Thuerey和Chris Wojtan等人采用基于三角网格表面张カ的方法将流体的模拟分为两层,第一层采用欧拉的方法模拟表面张力,第二层采用拉格朗日有限元法模拟流体表面子网格的波动细节,有效模拟了有强表面张カ的复杂现象。表面光照效果包括光的反射,透明性,表面纹理和阴影等。为可见对象建立物理准确的光照模型是ー个非常复杂的过程,这包含许多因素,如材料特性,对象相对于光源及其他对象的位置,以及场景中的光源属性。此外,对象可以是不透明的,也可以有一定的透明度;其表面可以是光亮的,也可以是阴暗的,还可以带来各种各样的表面纹理等。其中,BRDF(Bidirectional Reflectance Distribution Function)是光照模型中一个重要概念,可用于描述入射光线在非透明物体表面如何进行反射。Jiaping Wang, Peiran Ren, MinminGong等人基于BRDF模型提出了ー个使用环境光源和点光源来实时渲染动态空间各向异性全频阴影的方法。Robert L. C00K和Kenneth Ε· Torrance则提出了一种新的反射模型,用于渲染计算机合成的图片。该模型描述了入射光线的方向性分布,入射光线角度改变,反射光线也会产生变化,此时物体的颜色也会随着反射光线的变化而变化。本发明主要通过对上述关键技术进行集成、优化来实时模拟具有高度真实感的动态海洋表面所应呈现的视觉效果。

发明内容
本发明要解决的技术问题是为了实现海洋几何建模和绘制的真实感与实时性之间的平衡,发明了一种基于投影网格的海洋表面建模及其在环境光照条件下的实时逼真绘制方法。本发明解决上述的技术问题采用的技术方案为一种基于投影网格的海洋表面建模及实时光照方法,其步骤如下步骤(I)、在投影面上创建投影网格; 步骤(2)、根据视点信息,创建观测矩阵Mview和透视矩阵Mpwspertive;步骤(3)、检测投影的基本平面与视景体是否相交,如果不相交,说明在当前视点下不需要进行绘制,则转步骤(2),若相交则继续步骤(4);步骤(4)、将步骤(I)在投影面上创建的投影网格中的顶点P一变换到相交的基本平面,得到基本面上的点Prald,使用观测矩阵和透视矩阵的逆矩阵可以实现这个过程: Pworld [Myiew ^Perspective-! Pprojector ( I )步骤(5)、创建范围转换矩阵,检测视景体的边和基本平面的交点以及在视景体内部的基本平面的顶点,并将这些点进行范围转换,此吋,X和I的跨度分别被定义为投影后的点的X和y的最大值(xmax,ymax)和最小值(xmin,ymin)的差;公式(2)即为创建的范围转换矩阵
权利要求
1.一种基于投影网格的海洋表面建模及实时光照方法,其特征在于其步骤如下 步骤(I)、在投影面上创建投影网格; 步骤(2)、根据视点信息,创建观测矩阵Mnev和透视矩阵; 步骤(3)、检测投影的基本平面与视景体是否相交,如果不相交,说明在当前视点下不需要进行绘制,则转步骤(2),若相交则继续步骤(4); 步骤(4)、将步骤(I)在投影面上创建的投影网格中的顶点变换到相交的基本平面,得到基本面上的点PWOTld,使用观测矩阵和透视矩阵的逆矩阵可以实现这个过程Pworld [^View ^Perspective-1 Pprojector( I ) 步骤(5)、创建范围转换矩阵,检测视景体的边和基本平面的交点以及在视景体内部的基本平面的顶点,并将这些点进行范围转换,此时,X和I的跨度分别被定义为投影后的点的X和y的最大值(xmax, ymax)和最小值(xmin,ymin)的差;公式(2)即为创建的范围转换矩阵
2.根据权利要求I所述的基于投影网格的海洋表面建模及实时光照方法,其特征在于借助投影变换的逆变换来自适应的生成海洋表面的二维平面网格。
3.根据权利要求I所述的基于投影网格的海洋表面建模及实时光照方法,其特征在于在生成海洋表面的平面网格的基础上,在纵轴上借助快速傅里叶变换来实现三维海洋表面的波动效果。
4.根据权利要求I所述的基于投影网格的海洋表面建模及实时光照方法,其特征在于使用光照分解计算和基于硬件的延迟着色和纹理混合技术来实现环境光照条件下的波动海洋表面的实时逼真绘制。
全文摘要
本发明提供一种基于投影网格的海洋表面建模及实时光照方法,包括使用投影网格建立海洋表面几何模型,并通过变换摄像机位置和观测方向等参数,检测投影网格与视景体的相交部分,确立处于视景体内的所需绘制的海洋表面的范围;基于快速傅里叶变换(Fast Fourier Transform)来模拟海洋表面的波动效果,根据波浪长度的不同量级,采样不同量级波长的频率并将其转换成振幅信息,用复数空间三角函数和的形式来表示动态变化的波浪;通过将光线分解为太阳入射光、天空反射光和海洋折射光,并将光照计算的积分简化成多项式乘积或者线性函数的形式,来近似计算海洋表面的光照效果。本发明可满足环境光照下对动态海洋表面的仿真,具有高度的逼真性和良好的实时性等优点。
文档编号G06F19/00GK102855400SQ20121033338
公开日2013年1月2日 申请日期2012年9月10日 优先权日2012年9月10日
发明者李帅, 王东伟, 郝爱民, 杨丽鹏 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1