CN111429558B - 实时模拟动态水体缩略模型的方法及系统 - Google Patents
实时模拟动态水体缩略模型的方法及系统 Download PDFInfo
- Publication number
- CN111429558B CN111429558B CN202010134580.9A CN202010134580A CN111429558B CN 111429558 B CN111429558 B CN 111429558B CN 202010134580 A CN202010134580 A CN 202010134580A CN 111429558 B CN111429558 B CN 111429558B
- Authority
- CN
- China
- Prior art keywords
- model
- water body
- simulating
- dynamic
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 215
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004088 simulation Methods 0.000 claims abstract description 54
- 238000005286 illumination Methods 0.000 claims abstract description 23
- 230000000694 effects Effects 0.000 claims description 56
- 238000009877 rendering Methods 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 239000003086 colorant Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 239000006260 foam Substances 0.000 claims description 5
- 230000004927 fusion Effects 0.000 claims description 5
- 238000000926 separation method Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims 1
- 230000037237 body shape Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000005428 wave function Effects 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种实时模拟动态水体缩略模型的方法及系统,方法包括:修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致。将水体缩略模型的上表面与侧面分离;将侧面模型与上表面模型交界线处的顶点写入顶点信息;将上表面模型中不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,将上表面模型中不同光照的范围内顶点写入与光照有关的顶点信息;对上表面模型进行实时动态水体模拟;对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;实时模拟动态水体缩略模型的水下物体。本发明模拟出的水体形态更真实、更美观。
Description
技术领域
本发明属于计算机图形处理技术领域,尤其涉及一种实时模拟动态水体缩略模型的方法及系统。
背景技术
渲染(Render)在计算机图形处理技术中是由模型生成图像画面或视频的过程。模型是指用语言或者数据结构进行严格定义的三维物体或虚拟场景的描述,它包括几何、视点、纹理、照明和阴影等信息。图像是数字图像或者位图图像,视频是指连续帧的图像组成的动态影像。
三维计算机图形的的渲染主要分为离线渲染(Offline rendering)和实时渲染(Real-time rendering)。离线渲染的计算量大、计算强度高,需要消耗大量硬件资源,通常用于电影制作;实时渲染通常用于3D视频游戏,通过图形处理器(GPU)完成这个渲染过程。
渲染流水线的工作是从一个人眼看不懂的只含顶点数据和纹理等信息的三维场景出发,生成一张或多张人眼能看懂的二维图像。一般来说现在的渲染流水线分为三个阶段:应用(Application)阶段,几何(Geometry)阶段,光栅化(Rasterizer)阶段。几何阶段的Vertex Shader是对顶点数据编程的一段程序,主要用于坐标变换和逐顶点光照,并且为后续流水线阶段的处理提供所需要的数据。光栅化阶段的Fragment Shader主要是对像素数据编程的一段程序,用来描述如何从三角网格生成像素片段。
立体透视模型(Diorama)又称为缩略模型,原意是指一种三维等大或微缩模型,特征之一在于细致描绘了模型截面特征。随着三维视频游戏的普及,游戏的品类和数量广泛增加,其中就涉及到含有水的缩略模型的模拟,亟需一种方法来模拟这种缩略模型中的实时动态水效果。
随着三维视频游戏的流行,大众对游戏画面品质和内容的丰富程度的要求越来越高。其中就涉及到含有水侧面的水缩略模型的模拟,以前在游戏中很少涉及这一特殊形态的模拟,而如今亟需一种方法来模拟这种缩略模型中的实时动态水效果。含有水侧面的水体作为一种特殊水体形态,原先在三维视频游戏中需求极少,但是随着技术进步和审美提高,这种水体的需求开始增多;现有的方法只关注水的上表面,忽略了水的侧面,对水侧面不做特殊处理,因此侧面不具备水的表现特性,导致水缩略模型整体表现不佳,例如侧面不具有折射效果,例如侧面会受到上表面边缘顶点的法线信息干扰,在视角和光照方向变化时,有突兀的带状高光反射,从而破坏了水侧面的真实感等。
发明内容
本发明的目的是提供一种实时模拟动态水体缩略模型的方法,该方法能够实现水体缩略模型的水侧面(截面)效果,针对水体缩略模型这种含有水侧面的水体提出了一套完整实现方法。
本发明为实现上述目的所采用的技术方案是:
提供一种实时模拟动态水体缩略模型的方法,包括以下步骤:
步骤1:修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致。
步骤2:将水体缩略模型的上表面与侧面分离,得到上表面模型和侧面模型;
步骤3:将侧面模型与上表面模型交界线处的顶点写入顶点信息;
步骤4:将上表面模型中需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,将上表面模型中需要不同光照的范围内顶点写入与光照有关的顶点信息;
步骤5:对上表面模型进行实时动态水体模拟;
步骤6:对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;
步骤7:实时模拟动态水体缩略模型的水下物体。
接上述技术方案,步骤5具体包括:基于改进后的半兰伯特模型的水面漫反射模拟、水面实时动态法线的融合、水表面实时高光、水表面顶点颜色融合、模拟水表面实时动态波浪、模拟水表面浪尖颜色、模拟水表面折射、模拟水表面反射与计算反射蒙版、调整折射与反射的扭曲强度、基于水表面物体遮挡关系的动态水面泡沫生成。
接上述技术方案,步骤6具体包括:水体缩略模型的基础颜色模拟、与上表面模型交界处的实时动态波浪同步、侧面折射效果实现、侧面高度雾效渐变模拟、调整侧面不透明度。
接上述技术方案,步骤7具体包括设置基础纹理、水下物体的深度雾效模拟。
接上述技术方案,步骤1还包括:修改水体缩略模型的基础形态,使水体缩略模型表面布线均匀且尽可能减少三角面。
接上述技术方案,步骤6具体为中与上表面模型交界处的实时动态波浪同步具体为:将侧面模型与上表面模型交界线处的顶点均传入表面波浪动态计算的函数中,使位移后的位置保持一致。
接上述技术方案,步骤6中侧面折射效果实现具体指模拟水下物体的折射:和水体上表面使用同一张渲染水之前的水下物体的图像,再进行位移处理。
接上述技术方案,步骤6中侧面高度雾效渐变模拟具体指高度和深度雾效与水体基础颜色的混合,基于世界坐标的高度雾效模拟,使用相应函数在竖直坐标上进行渐变的颜色混合。
本发明还提供一种实时模拟动态水体缩略模型的系统,该系统包括:
基础形态修改模块,用于修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致。
分离模块,用于将水体缩略模型的上表面与侧面分离,得到上表面模型和侧面模型;
顶点信息模块,用于将侧面模型与上表面模型交界线处的顶点写入顶点信息;将上表面模型中需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,并将上表面模型中需要不同光照的范围内顶点写入与光照有关的顶点信息;
上表面模型模拟模块,用于对上表面模型进行实时动态水体模拟;
侧面模型模拟模块,用于对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;
水下物体模拟模块,用于实时模拟动态水体缩略模型的水下物体。
本发明还提供一种计算机存储介质,其内存储有可被处理器执行的计算机程序,该计算机程序执行上述技术方案的实时模拟动态水体缩略模型的方法。
本发明产生的有益效果是:本发明将水体模型的上表面和侧面分离为两个模型(保持位置不变),分别标注相关顶点信息,并分别对上表面和侧面两个模型模拟水效果,最后对水下物体进行雾效模拟。本发明能够为含水侧面的特殊水体形态模拟提供一套解决方案,具备更真实的水体特性和更丰富的水体色彩效果,使得模拟出的水体形态更真实、更美观。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的水体缩略模型示例图;
图2是本发明实施例的实时模拟动态水体缩略模型的方法流程图;
图3是本发明实施例的实时模拟动态水体缩略模型的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明适用的水体缩略模型示例图如图1所示。图1展示了水体缩略模型的一种特定形态的情况,即水体表现为长方体形态,上表面是四边形,侧面由四面组成。实际实施过程中并不局限于图示的这一种形态,只要是由侧面和上表面这两部分组成的水体都适用于本发明,不限制侧面的面数和上表面的边数。经过本发明的实时模拟动态水体缩略模型的方法处理完毕后,水体缩略模型应具有图1中的三大主要部分:水体上表面、水体侧面、水中物体。
图2展示了本发明的实时模拟动态水体缩略模型的方法的总体流程。如图2所示,本发明的方法包括以下步骤:
S1:修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致。
S2:将水体缩略模型的上表面与侧面分离,得到上表面模型和侧面模型;
S3:将侧面模型与上表面模型交界线处的顶点写入顶点信息;
S4:将上表面模型中需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,将上表面模型中需要不同光照的范围内顶点写入与光照有关的顶点信息;
S5:对上表面模型进行实时动态水体模拟;
S6:对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;
S7:实时模拟动态水体缩略模型的水下物体。
具体而言,S1中主要确定水体缩略模型的基础形态,修改以确保水体缩略模型表面布线均匀且尽可能减少三角面;修改以确保水体缩略模型表面与水体缩略模型侧面(截面)交界线处满足布线均匀、顶点数量相同、顶点位置一致。这是本发明的方法应用的前提,进行S1的处理,以排除该方法的最终效果受到模型本身的影响而产生瑕疵。
S2中需要使水体缩略模型的上表面与侧面(截面)分离,成为两个单独的物体,并命名,保证命名的独特性。到此步骤就获得了图1要求的三大块内容。
S3中需要处理水体缩略模型的侧面(截面)模型,向与上表面交界线处的顶点写入顶点信息(颜色信息和位置信息)。
S4中处理水体缩略模型的上表面模型,给需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,给需要不同光照的范围内顶点写入与光照有关的顶点信息。
S3和S4在S2的基础上,向模型顶点写入信息,用于后续步骤控制波浪范围、波浪振幅、波浪光照等;相比于使用贴图控制,此方法直接读取模型自带的顶点信息,节省了贴图采样这一消耗内存的方法,加快运算速度,提升整体性能。
如图2所示,水模型的上表面模拟中,对应S5在可编程渲染管线中对模型上表面的水效果的实时动态模拟,也可以单独应用于不含侧面的普通水面的模拟。基于改进后的半兰伯特模型的水面漫反射模拟,目的是以低消耗的成本来模拟水体散射,计算公式为DiffuseColor=(LightColor*DiffuseColor)((1-S)*(N*L)+S),其中DiffuseColor表示水体漫反射颜色RGB值,LightColor表示场景光照颜色RGB值,N表示水面法线矢量,L表示光线方向,S表示模拟散射的参数,数值限定在[0.5,1],本实施例中S取值到0.8时就能达到很好的效果。
水面实时动态法线的融合,具体来说是波浪动态实时生成的法线Wn与法线贴图采样的法线Tn的融合,输出颜色col的RGB三通道的计算公式为col.rgb=(Wn.rg+t*Tn.rg,1),其中t表示法线贴图混合浓度,取值范围为[0,1]。
水表面实时高光,与光线角度和视线角度有关,算法是高光spec=_LightColor0.rgb*_Specular.rgb*pow(max(dot(reflectDir,viewDir),0),_Gloss),其中_LightColor0指光照颜色,_Specular表示指定的高光颜色,pow表示指数运算,reflectDir表示反射方向,viewDir表示视线方向,_Gloss表示高光范围。由于使用了指数运算,考虑到低端机型的运算力,使用宏为该效果设置开关,在低细节层次(LOD)的子着色器(subshader)里酌情关闭该开关。
水表面顶点颜色融合,是指水表面模型的顶点信息中包含的顶点颜色信息所表示的光照信息与漫反射颜色的混合,进一步描述:在顶点颜色中,不改变漫反射效果填充为(128,128,128)灰,更暗或更亮的光照效果填充的颜色信息在该灰色上下浮动,计算公式为diffuse=diffuse*vertex.color.rgb*2*n+(1–n)*diffuse,其中diffuse表示水面颜色,vertex.color表示顶点颜色,n表示顶点颜色混合的浓度,取值范围[0,1]。
模拟水表面实时动态波浪,是指将表面顶点位置带入波浪函数计算中,随着时间推移会产生波浪动画效果,正弦(Sin)波浪函数或格斯特纳(Gerstner)波浪函数都能达到这种效果,进一步描述:在使用波浪函数计算振幅时,Amplitude=Amplitude*vertex.color.a,其中Amplitude表示波浪振幅,vertex.color表示顶点颜色,通过上述公式便可以调取模型信息的a通道信息,从而实现对振幅的控制。
模拟水表面浪尖颜色是指模拟水面波浪浪尖的次表面散射(sss,Sub-Surface-Scattering)效果,真实的次表面散射计算较复杂会耗费较大算力,考虑到低端机型的适配程度,本方法采用了一种替代方案,进一步描述为:在世界坐标空间中取波浪的数值坐标值h,在h上下取一个区间,用插值函数(lerp)使该区间染渐变色,颜色一般取比水体颜色微亮,便可以得到一种较好的模拟效果。
模拟水表面折射,是指模拟水下物体的折射与扭曲,进一步描述为:为了节省性能,该效果的渲染类型(RenderType)不采用透明(Transparent)的类型,而是采用不透明(Opaque)类型,因此需要取一张水下物体的截图;目前普遍使用的GrabPass方法截取屏幕截图,会增加较大的运算量,本方法从命令缓冲区(CommandBuffer)中直接取出一帧渲染水之前的水下物体的图像,再传入着色器(shader)进行位移和扭曲处理;扭曲处理的参数来源于上述融合后的法线。模拟水表面反射与计算反射蒙版,是指计算出反射范围的蒙版后,在该蒙版范围内显示反射贴图,进一步描述为:反射蒙版=菲涅尔效果+距离渐变;反射贴图一般用一张立方体贴图(cubemap);若场景移动范围不大,反射贴图采用提前烘焙好的一张2d贴图,以节省采样性能;由于使用了较多指数运算和采样运算,考虑到低端机型的运算力,使用宏为该效果设置开关,在低细节层次(LOD)的子着色器(subshader)里酌情关闭该开关。调整折射与反射的扭曲强度是指开放一个参数,统一调整上述融合后的法线对反射贴图和折射贴图的扭曲强度。基于水表面物体遮挡关系的动态水面泡沫生成,是指在水体表面物体是固定不移动的情况下,避免计算距离场的一种替代方案,进一步描述为:在数字内容创作(DCC)软件中渲染一张水体表面物体的遮挡关系蒙版图,白色代表物体遮挡住水面的部分,黑色代表未被遮挡的水面;将该蒙版图做高斯模糊处理,模糊程度越大,遮挡物体的泡沫宽度越宽;把该蒙版图与合适的噪声图样条差值函数(smoothstep)计算;噪声图做采样的纹理坐标(uv)移动处理,开放速度与方向可调整参数;同样,由于使用了较多较为耗费的运算,考虑到低端机型的运算力,使用宏为该效果设置开关,在低细节层次(LOD)的子着色器(subshader)里酌情关闭该开关。
水模型的侧面(截面)效果模拟对应S6在可编程渲染管线中对水体缩略模型的侧面(截面)的实时动态模拟。
水体缩略模型的基础颜色模拟,是指针对侧面的漫反射模拟,进一步描述为:与上表面漫反射相似,使用改进后的半兰伯特光照模型;在此基础上增加一张贴图采样,以便于对水体侧面做个性化渲染;考虑到性能,水体侧面的贴图采样使用宏开关控制,在低细节层次(LOD)的子着色器(subshader)里酌情关闭该开关。
与上表面交界处的实时动态波浪同步,是指侧面与上表面交界线处的顶点,同样需要传入表面波浪动态计算的函数中,以保证位移后位置的一致,从而避免边界处的裂缝穿帮。
侧面(截面)折射效果,是指模拟水下物体的折射,进一步描述为:与水体表面的折射计算相似,为了节省性能,使用和水体表面用的同一张从命令缓冲区(CommandBuffer)中直接取出一帧渲染水之前的水下物体的图像,再传入shader进行位移处理;相比表面,侧面是平滑截面的效果,因此不进行扭曲步骤。
侧面(截面)高度雾效渐变模拟,是指高度和深度雾效与水体基础颜色的混合,进一步描述为:为避免重构屏幕空间像素坐标位置过于耗费内存和算力,使用了一种基于世界坐标的高度雾效模拟,使用插值函数(lerp)在竖直坐标上进行渐变的颜色混合。调整侧面(截面)不透明度,是指开放一个参数,方便整体控制侧面的不透明度。
水下物体效果的处理,对应S7在可编程渲染管线中对动态水体缩略模型的水下物体的处理。设置基础纹理,是指水下物体的基于贴图的漫反射效果。水下物体的深度雾效模拟,是指分别在竖直坐标y上模拟高度雾、在水平面的xz坐标上模拟有边界的方形雾,进一步描述为:为避免重构屏幕空间像素坐标位置过于耗费内存和算力,使用了一种基于世界坐标系的盒形雾效模拟方法,具体描述为:使用插值函数(lerp)在世界坐标的竖直坐标y轴上进行渐变的颜色混合;在世界坐标水平面xz构成的坐标平面,通过四个直线解析式,Ax+Bz+C1=0,Ax+Bz+C2=0,Cx+Dz+C3=0,Cx+Dz+C4=0,构成一个方形区域,结合插值函数(lerp)渲染出方形的雾效;综合上述效果,在世界坐标空间形成了一个盒型区域的雾,从而模拟出越靠近水的缩略模型中心,雾效越浓的效果。
如图3所示,本发明实施例实时模拟动态水体缩略模型的系统,该系统包括:
基础形态修改模块,用于修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致。
分离模块,用于将水体缩略模型的上表面与侧面分离,得到上表面模型和侧面模型;
顶点信息模块,用于将侧面模型与上表面模型交界线处的顶点写入顶点信息;将上表面模型中需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,并将上表面模型中需要不同光照的范围内顶点写入与光照有关的顶点信息;
上表面模型模拟模块,用于对上表面模型进行实时动态水体模拟;
侧面模型模拟模块,用于对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;
水下物体模拟模块,用于实时模拟动态水体缩略模型的水下物体。
该系统主要用于实现上述实施例的实时模拟动态水体缩略模型的方法,相同部分不再赘述。
本发明还提供一种计算机存储介质,其内存储有可被处理器执行的计算机程序,该计算机程序执行上述实施例的实时模拟动态水体缩略模型的方法。
综上,本发明分别对上表面和侧面两个模型模拟水效果,能够使含水侧面的特殊水体形态的模拟具备更真实的水体特性和更丰富的水体色彩效果,使得模拟出的水体形态更真实、更美观。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种实时模拟动态水体缩略模型的方法,其特征在于,包括以下步骤:
步骤1:修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致;
步骤2:将水体缩略模型的上表面与侧面分离,得到上表面模型和侧面模型;
步骤3:将侧面模型与上表面模型交界线处的顶点写入顶点信息;
步骤4:将上表面模型中需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,将上表面模型中需要不同光照的范围内顶点写入与光照有关的顶点信息;
步骤5:对上表面模型进行实时动态水体模拟;
步骤6:对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;其中对侧面模型进行实时动态水体模拟包括:水体缩略模型的基础颜色模拟、与上表面模型交界处的实时动态波浪同步、侧面折射效果实现、侧面高度雾效渐变模拟、调整侧面不透明度;侧面折射效果实现具体指模拟水下物体的折射:从命令缓冲区中直接取出一帧渲染水之前的水下物体的图像,再传入着色器进行位移和扭曲处理,且与水体上表面使用同一张渲染水之前的水下物体的图像;根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体具体为:将侧面模型与上表面模型交界线处的顶点均传入表面波浪动态计算的函数中,使位移后的位置保持一致;
步骤7:实时模拟动态水体缩略模型的水下物体。
2.根据权利要求1所述的实时模拟动态水体缩略模型的方法,其特征在于,步骤5具体包括:基于改进后的半兰伯特模型的水面漫反射模拟、水面实时动态法线的融合、水表面实时高光、水表面顶点颜色融合、模拟水表面实时动态波浪、模拟水表面浪尖颜色、模拟水表面折射、模拟水表面反射与计算反射蒙版、调整折射与反射的扭曲强度、基于水表面物体遮挡关系的动态水面泡沫生成。
3.根据权利要求1所述的实时模拟动态水体缩略模型的方法,其特征在于,步骤7具体包括设置基础纹理、水下物体的深度雾效模拟。
4.根据权利要求1所述的实时模拟动态水体缩略模型的方法,其特征在于,步骤1还包括:
修改水体缩略模型的基础形态,使水体缩略模型表面布线均匀且尽可能减少三角面。
5.根据权利要求1所述的实时模拟动态水体缩略模型的方法,其特征在于,步骤6中侧面高度雾效渐变模拟具体指高度和深度雾效与水体基础颜色的混合,基于世界坐标的高度雾效模拟,使用相应函数在竖直坐标上进行渐变的颜色混合。
6.一种实时模拟动态水体缩略模型的系统,其特征在于,该系统包括:
基础形态修改模块,用于修改确定的水体缩略模型的基础形态,使水体缩略模型的上表面与侧面交界线处布线均匀、顶点数量和顶点位置一致;
分离模块,用于将水体缩略模型的上表面与侧面分离,得到上表面模型和侧面模型;
顶点信息模块,用于将侧面模型与上表面模型交界线处的顶点写入顶点信息;将上表面模型中需要不同波浪振幅的范围内的顶点写入与波浪振幅有关的顶点信息,并将上表面模型中需要不同光照的范围内顶点写入与光照有关的顶点信息;
上表面模型模拟模块,用于对上表面模型进行实时动态水体模拟;
侧面模型模拟模块,用于对侧面模型进行实时动态水体模拟,根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体;其中对侧面模型进行实时动态水体模拟包括:水体缩略模型的基础颜色模拟、与上表面模型交界处的实时动态波浪同步、侧面折射效果实现、侧面高度雾效渐变模拟、调整侧面不透明度;侧面折射效果实现具体指模拟水下物体的折射:从命令缓冲区中直接取出一帧渲染水之前的水下物体的图像,再传入着色器进行位移和扭曲处理,且与水体上表面使用同一张渲染水之前的水下物体的图像;根据顶点信息同步模拟侧面模型与上表面模型交界处的动态水体具体为:将侧面模型与上表面模型交界线处的顶点均传入表面波浪动态计算的函数中,使位移后的位置保持一致;
水下物体模拟模块,用于实时模拟动态水体缩略模型的水下物体。
7.根据权利要求6所述的实时模拟动态水体缩略模型的系统,其特征在于,上表面模型模拟模块具体用于,基于改进后的半兰伯特模型的水面漫反射模拟、水面实时动态法线的融合、水表面实时高光、水表面顶点颜色融合、模拟水表面实时动态波浪、模拟水表面浪尖颜色、模拟水表面折射、模拟水表面反射与计算反射蒙版、调整折射与反射的扭曲强度、基于水表面物体遮挡关系的动态水面泡沫生成。
8.根据权利要求6所述的实时模拟动态水体缩略模型的系统,其特征在于,基础形态修改模块还用于修改水体缩略模型的基础形态,使水体缩略模型表面布线均匀且尽可能减少三角面。
9.根据权利要求6所述的实时模拟动态水体缩略模型的系统,其特征在于,水下物体模拟模块还用于设置基础纹理、水下物体的深度雾效模拟。
10.一种计算机存储介质,其特征在于,其内存储有可被处理器执行的计算机程序,该计算机程序执行如权利要求1-8中任一项所述的实时模拟动态水体缩略模型的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134580.9A CN111429558B (zh) | 2020-03-02 | 2020-03-02 | 实时模拟动态水体缩略模型的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134580.9A CN111429558B (zh) | 2020-03-02 | 2020-03-02 | 实时模拟动态水体缩略模型的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111429558A CN111429558A (zh) | 2020-07-17 |
CN111429558B true CN111429558B (zh) | 2022-09-23 |
Family
ID=71547337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010134580.9A Expired - Fee Related CN111429558B (zh) | 2020-03-02 | 2020-03-02 | 实时模拟动态水体缩略模型的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111429558B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112819941B (zh) * | 2021-03-05 | 2023-09-12 | 网易(杭州)网络有限公司 | 渲染水体面的方法、装置、设备和计算机可读存储介质 |
CN117274465B (zh) * | 2023-11-22 | 2024-03-08 | 园测信息科技股份有限公司 | 匹配真实地理水域环境的水体渲染方法、系统、介质和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085642A (zh) * | 2017-04-24 | 2017-08-22 | 黄小东 | 一种基于cfd预测消浪过程的方法及其生态修复应用 |
CN109876441A (zh) * | 2019-03-13 | 2019-06-14 | 网易(杭州)网络有限公司 | 游戏中的渲染方法及装置、存储介质及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320480A (zh) * | 2008-07-04 | 2008-12-10 | 浙江大学 | 一种基于gpu的实时动态水面模拟方法 |
CN102402792B (zh) * | 2011-10-24 | 2014-03-19 | 克拉玛依红有软件有限责任公司 | 一种实时浅水模拟方法 |
CN104143207A (zh) * | 2013-05-12 | 2014-11-12 | 哈尔滨点石仿真科技有限公司 | 基于流计算的大范围动态海浪实时渲染方法 |
CN107918949A (zh) * | 2017-12-11 | 2018-04-17 | 网易(杭州)网络有限公司 | 虚拟资源对象的渲染方法、存储介质、处理器及终端 |
CN108230436A (zh) * | 2017-12-11 | 2018-06-29 | 网易(杭州)网络有限公司 | 三维场景中虚拟资源对象的渲染方法 |
US11010509B2 (en) * | 2018-05-23 | 2021-05-18 | Nvidia Corporation | Systems and methods for computer simulation of detailed waves for large-scale water simulation |
CN109871598B (zh) * | 2019-01-29 | 2023-07-25 | 北京石油化工学院 | 一种在复杂三维管网中构建实时可视化流体的方法 |
CN110136238B (zh) * | 2019-04-02 | 2023-06-23 | 杭州小影创新科技股份有限公司 | 一种结合物理光照模型的ar绘画方法 |
-
2020
- 2020-03-02 CN CN202010134580.9A patent/CN111429558B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085642A (zh) * | 2017-04-24 | 2017-08-22 | 黄小东 | 一种基于cfd预测消浪过程的方法及其生态修复应用 |
CN109876441A (zh) * | 2019-03-13 | 2019-06-14 | 网易(杭州)网络有限公司 | 游戏中的渲染方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111429558A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7583264B2 (en) | Apparatus and program for image generation | |
CN109035381B (zh) | 基于ue4平台的卡通画头发渲染方法、存储介质 | |
US20070139408A1 (en) | Reflective image objects | |
WO1998038591A9 (en) | Method for rendering shadows on a graphical display | |
WO1998038591A2 (en) | Method for rendering shadows on a graphical display | |
CN111429558B (zh) | 实时模拟动态水体缩略模型的方法及系统 | |
CN110163945B (zh) | 一种实时渲染中的水面仿真方法 | |
CN110400372B (zh) | 一种图像处理的方法及装置、电子设备、存储介质 | |
CN111476877A (zh) | 一种阴影渲染的方法及装置、电子设备、存储介质 | |
US20030193496A1 (en) | Image processing system, image processing method, semiconductor device, computer program, and recording medium | |
US8411089B2 (en) | Computer graphics method for creating differing fog effects in lighted and shadowed areas | |
JP2004110597A (ja) | 画像生成情報、情報記憶媒体及び画像生成装置 | |
CN113936086B (zh) | 毛发模型的生成方法、装置、电子设备以及存储介质 | |
CN116363288A (zh) | 目标物的渲染方法、装置、存储介质及计算机设备 | |
US10403033B2 (en) | Preserving scene lighting effects across viewing perspectives | |
CN115375824A (zh) | 一种基于rgbd全景视频的交互式的全景空间光线跟踪方法 | |
JP4717624B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
US7710419B2 (en) | Program, information storage medium, and image generation system | |
JP2001070634A (ja) | ゲーム機及びゲーム機におけるゲーム方法 | |
KR100900076B1 (ko) | 경계선이 자연스러운 3차원 텍스쳐 장치 및 방법 | |
CN117058301B (zh) | 一种基于延迟着色的针织物实时渲染方法 | |
JP3540774B2 (ja) | 画像処理方法及び画像処理用プログラム | |
CN117618892A (zh) | 植被模型的生成方法、装置、电子设备及计算机可读介质 | |
Luhtapuro | Surface Detail Mapping in 3D Modelling | |
EP1156455A2 (en) | Fog visual effect rendering method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220923 |
|
CF01 | Termination of patent right due to non-payment of annual fee |