【技术实现步骤摘要】
一种实时渲染中的水面仿真方法
本专利技术涉及一种实时渲染中的水面仿真方法,属于计算机图形学实时渲染领域,应用于视频游戏,交互艺术,实时3D环境模拟或场景设计行业。
技术介绍
近年来,随着硬件设备与娱乐产业的发展,人们愈加重视三维显示效果,其中实时渲染得到的三维显示效果尤其引人注目。在实时渲染的三维场景中,水面效果拥有广泛的应用场景。只要涉及到有关日常生活或者自然场景的模拟,就必然会涉及到水面效果的模拟。为了便于理解,在此简单介绍图形学基本知识。我们以高阶着色器语言(HLSL)为例,简单介绍渲染管线和空间变换。首先,高阶着色器语言能够让我们使用可编程的图形硬件,让我们可以控制物体的形状,外观和运动方式。一个管线是一系列并行执行并且顺序固定的步骤。每一个步骤会接收到来自前一个步骤的输入,并把结果输出到下一个紧邻着的步骤。就如同一个装配流水线一样,有许多的汽车在同时被制造和装配,但他们处于同一条线的不同阶段。整体来说,一个渲染流水线会被输入一个3D场景的描述,以及一个有方向,有位置的虚拟摄像机。这个渲染流水线只能就是整个的把摄像机看到的东西,转化成2D图像的流程。在本方法中,只涉及对于顶点着色器阶段和片元着色器阶段的编程。比如顶点着色器,在基本几何图元被组装完成之后,这些顶点会被给到顶点着色器阶段。顶点着色器可以被看做一个函数,它的输入是一个顶点,它的输出也是一个顶点。每一个需要被画出来的顶点都会流经这个顶点着色器。又比如片元着色器,一个片元着色器会为每一个像素片元执行一次,并且,它会使用被插值的顶点属性作为输入的数据,去计算颜色。一个像素着色器可以很简单,比如 ...
【技术保护点】
1.一种实时渲染中的水面仿真方法,其特征在于,包含两个宏观步骤,即:倒影摄像机获取场景倒影图像步骤,以及主摄像机渲染出包含水面的场景图像的步骤,所述第一个宏观步骤可以分成以下八个步骤,其中8)由图像应用编程接口自动处理:1)创建倒影摄像机,用于完全复制主摄像机,作为倒影摄像机;2)获得关于水面平面的反射矩阵,具体为:这一步输入世界空间中的水面平面的四维向量表示,根据线性代数的镜面反射原理,计算得到在世界空间中的关于水面平面的反射矩阵;3)获得当前倒影摄像机的观察变换矩阵;4)反射矩阵右乘观察变换矩阵;5)用步骤4获得的矩阵替代当前倒影摄像机的观察变换矩阵;6)把表示当前水面平面的四维向量从世界空间变换到倒影摄像机观察空间;7)将得到的平面四维向量作为近裁平面修改倒影摄像机的投影矩阵;8)倒影摄像机将视锥体内的场景渲染成水面平面的倒影图像;所述第二个宏观步骤可以分成以下七个步骤,其中2,5,7由图形应用编程接口自动处理;4,6由工程师自行编程并由图形应用编程接口自动调用;1)设置水面平面的渲染顺序,使其在场景中其他物体之后渲染;2)依据渲染顺序,将排在水面平面之前的物体渲染到最终的图像中 ...
【技术特征摘要】
1.一种实时渲染中的水面仿真方法,其特征在于,包含两个宏观步骤,即:倒影摄像机获取场景倒影图像步骤,以及主摄像机渲染出包含水面的场景图像的步骤,所述第一个宏观步骤可以分成以下八个步骤,其中8)由图像应用编程接口自动处理:1)创建倒影摄像机,用于完全复制主摄像机,作为倒影摄像机;2)获得关于水面平面的反射矩阵,具体为:这一步输入世界空间中的水面平面的四维向量表示,根据线性代数的镜面反射原理,计算得到在世界空间中的关于水面平面的反射矩阵;3)获得当前倒影摄像机的观察变换矩阵;4)反射矩阵右乘观察变换矩阵;5)用步骤4获得的矩阵替代当前倒影摄像机的观察变换矩阵;6)把表示当前水面平面的四维向量从世界空间变换到倒影摄像机观察空间;7)将得到的平面四维向量作为近裁平面修改倒影摄像机的投影矩阵;8)倒影摄像机将视锥体内的场景渲染成水面平面的倒影图像;所述第二个宏观步骤可以分成以下七个步骤,其中2,5,7由图形应用编程接口自动处理;4,6由工程师自行编程并由图形应用编程接口自动调用;1)设置水面平面的渲染顺序,使其在场景中其他物体之后渲染;2)依据渲染顺序,将排在水面平面之前的物体渲染到最终的图像中;3)将此时渲染出的二维图像与水面建立起关联;4)输入渲染管线上一步的数据,进行水面顶点着色器处理,将产生的数据输出到下一步骤;5)图元组装,光栅化与插值;6)输入渲染管线上一步的数据,水面片元着色器处理,将产生的数据输出到下一步骤。7)更新主摄像机渲染的图像中的对应于水面平面位置的像素。2.根据权利要求1所述的实时渲染中的水面仿真方法,其特征在于,第二个宏观步骤的第6个步骤分成以下六个步骤,只要符合依赖关系,步骤间顺序可以随意调换:1)向片元法线生成模块输入其所需的数据,获得当前片元的在切线空间下以及世界空间下的法线向量;2)向水底颜色生成模块输入其所需的数据,获得当前片元对应的水底折射颜色;3)向水面反射颜色生成模块输入其所需的数据,获得当前片元对应的水面反射颜色;4)获得视角方向和当前片元对应的世界空间下的法线向量的点积,对该点积采用菲涅尔简化公式方法,得到当前片元对应的菲涅尔系数;5)对当前片元对应的光的反射方向、高光颜色、视角方向以及光滑度系数使用Phong高光反射方法,得到当前片元对应的高光反射颜色;6)对步骤2获得的水底折射颜色、步骤3获得的水面反射颜色、步骤4获得的菲涅尔系数以及步骤5获得的高光反射颜色进行计算,得到该片元对应的最终的颜色,具体计算公式如下:水面反射颜色×菲涅尔系数+水底折射颜色×(1-菲涅尔系数)+高光反射颜色=该片元对应的最终颜色。3.根据权利要求1所述的实时渲染中的水面仿真方法,其特征在于,所述的倒影摄像机可以生成倒影图像。4.根据权利要求2所述的实时渲染中的水面仿真方法,其特征在于,所述的片元法线生成模块所需的输入数据、操作步骤与生成的结果具体如下:该模块所需要的数据为:水面波纹的法线纹理、该片元对应的法...
【专利技术属性】
技术研发人员:任柯燕,严嘉睿,侯义斌,
申请(专利权)人:北京工业大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。