CN117934686A - 适配容器的水体生成方法、装置、存储介质及电子设备 - Google Patents
适配容器的水体生成方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117934686A CN117934686A CN202410083870.3A CN202410083870A CN117934686A CN 117934686 A CN117934686 A CN 117934686A CN 202410083870 A CN202410083870 A CN 202410083870A CN 117934686 A CN117934686 A CN 117934686A
- Authority
- CN
- China
- Prior art keywords
- water
- container
- water surface
- water body
- target
- 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.)
- Pending
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 344
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000009877 rendering Methods 0.000 claims abstract description 99
- 238000005520 cutting process Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 22
- 239000003086 colorant Substances 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 21
- 230000006978 adaptation Effects 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 15
- 239000002245 particle Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000004441 surface measurement Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013535 sea water Substances 0.000 description 1
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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种适配容器的水体生成方法、装置、存储介质及电子设备,涉及图像处理技术领域,其中方法包括:获取目标容器的容器网格模型;确定所述目标容器的水面高度参数,并根据所述水面高度参数生成水平剖切平面;通过所述水平剖切平面对所述容器网格模型进行剖切,得到剖面轮廓对应的多个离散点;基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型;通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体。本申请具有提升生成适配容器的水体的便捷性的效果。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种适配容器的水体生成方法、装置、存储介质及电子设备。
背景技术
3D场景中水体的表现形式多种多样,主要有全局水体,例如海水,还有常规形状水体,例如方形,圆形水或者手动绘制出的水体,另外,还有适配容器的水体。对于全局水体,通过在3d场景中设定高度值(对应海平面高度),然后做水体渲染即可得到。对于常规形状水体,则通过建模软件创建规则的水体模型,然后做水体渲染即可得到。
目前,生成适配容器的水体通常采用的方式为:为了达到容器中装有水体的效果,通过粒子系统来在容器中模拟水体,但是此方式需要用户了解如何调整粒子参数才能模拟出较为真实的水体,对于用户而言门槛较高,操作难度较大,导致生成适配容器的水体便捷性较差。
发明内容
为了提升生成适配容器的水体的便捷性,本申请提供一种适配容器的水体生成方法、装置、存储介质及电子设备。
在本申请的第一方面提供了一种适配容器的水体生成方法,具体包括:
获取目标容器的容器网格模型;
确定所述目标容器的水面高度参数,并根据所述水面高度参数生成水平剖切平面;
通过所述水平剖切平面对所述容器网格模型进行剖切,得到剖面轮廓对应的多个离散点;
基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型;
通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体。
通过采用上述技术方案,获取到目标容器的容器网格模型后,确定水面高度参数,从而确定用户想要在目标容器中生成水体的高度位置,接着以此水面高度参数,生成在对应的高度上的水平剖切平面,然后利用此水平剖切平面在对应的水面高度上对容器网格模型进行剖切,得到剖面轮廓,进而确定剖面轮廓上多个离散点。进一步地,根据各个离散点,生成方便后续进行水面渲染的容器水网格模型,最后由水面渲染管线对此容器水网格模型进行水面渲染,得到适配目标容器的适配水体,从而无需通过粒子系统在容器中模拟出所有水体,只需在得到容器水网格模型进行水面渲染即可,提升生成适配容器的水体的便捷性。
可选的,所述基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型,具体包括:
将各所述离散点组合得到离散点集合;
对所述离散点集合进行排序去重处理,得到去重后离散点集合;
计算所述去重后离散点集合对应的目标凸包,并根据所述目标凸包确定所述水平剖切平面上的闭合图形;
对所述闭合图形进行三角面片化处理,得到所述目标容器中水体表面对应的容器水网格模型。
通过采用上述技术方案,对离散点集合进行排序去重,从而简化离散点集合,去除重复的点,最终得到有序且不包含重复点的去重后离散点集合,从而提高离散点的质量以及后续对离散点的处理更加高效。接着根据去重后离散点集合,计算对应的目标凸包,从而准确快速地确定水体表面对应的闭合图形。最后对闭合图形进行三角面片化处理,得到水体表面对应的容器水网格模型,使得闭合图形离散化,方便后续高效地对容器水网格模型进行水面渲染。
可选的,所述通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体之后,还包括:
确定所述适配水体的水面对所述目标容器的周围环境的反射贴图;
对所述反射贴图进行采样,得到不同位置的反射颜色;
将各所述反射颜色与所述适配水体对应位置的基础颜色进行叠加,得到仿真水体。
通过采用上述技术方案,在目标容器中生成适配水体后,确定适配水体的水面对周围环境的反射贴图,从而表征水面对周围环境的反射。最后将反射贴图各个位置的反射颜色与适配水体对应位置上的基础颜色进行叠加,从而得到对周围环境反射的仿真水体,使得目标容器中的水体更加真实。
可选的,所述确定所述适配水体的水面对所述目标容器的周围环境的反射贴图,具体包括:
将所述适配水体的水面确定为对称面,并基于所述对称面在预设的主渲染相机的对称位置设置副渲染相机,所述副渲染相机在所述对称面靠近所述目标容器底部的一侧,所述主渲染相机的视角与屏幕视角一致;
通过所述副渲染相机对所述目标容器的周围环境的影像进行渲染,得到反射贴图。
通过采用上述技术方案,通过适配水体水下虚拟的副渲染相机对周围环境进行捕捉及渲染,从而较好还原了周围环境在适配水体上的影像,进而使适配水体对周围环境的反射呈现效果更好。另外,副渲染相机与主渲染相机相对水平面对称设置,方便后续更好将反射贴图转换成屏幕视角下的水面反射渲染贴图。
可选的,所述将各所述反射颜色与所述适配水体对应位置的基础颜色进行叠加,得到仿真水体,具体包括:
根据预设的菲涅尔方程,将各所述反射颜色与所述适配水体对应位置的基础颜色进行叠加,得到所述适配水体对应的仿真水体。
通过采用上述技术方案,从反射贴图中各个位置采样,得到多个反射颜色后,为了使得适配水体的显示更加逼真,通过菲涅尔方程,将每个反射颜色与适配水体对应位置上的基础颜色进行叠加,从而在适配水体的水面每个位置同时模拟出逼真地反射效果和折射效果,进而使仿真水体的状态更贴合真实水体的状态。
可选的,所述确定所述目标容器的水面高度参数,具体包括:
通过预设的射线检测算法,确定所述目标容器的水面高度参数。
通过采用上述技术方案,通过射线检测算法确定目标容器中即将生成的水体的水面高度参数,从而使得水面高度参数准确性和可靠性更高,方便后续在此水面高度参数对应高度上生成目标容器适配的水体。
在本申请的第二方面提供了一种适配容器的水体生成装置,具体包括:
容器获取模块,用于获取目标容器的容器网格模型;
平面生成模块,用于确定所述目标容器的水面高度参数,并根据所述水面高度参数生成水平剖切平面;
轮廓切割模块,用于通过所述水平剖切平面对所述容器网格模型进行剖切,得到剖面轮廓对应的多个离散点;
水面确定模块,用于基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型;
水面渲染模块,用于通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体。
通过采用上述技术方案,容器获取模块获取到目标容器对应的容器网格模型后,由平面生成模块确定目标容器的水面高度参数,并根据此水面高度参数生成水平剖切平面,接着轮廓切割模块通过水平剖切平面对容器网格模型进行剖切,最终得到多个离散点,然后水面确定模块基于各个离散点,生成容器水网格模型,最后水面渲染模块对容器水网格模型进行水面渲染,得到目标容器的适配水体。
在本申请的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器加载并执行时,执行如第一方面中任意一项所述的方法步骤。
在本申请的第四方面提供了一种电子设备,具体包括:
处理器、存储器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器用于加载并执行所述存储器中存储的计算机程序,以使所述电子设备执行如第一方面中任意一项所述的方法。
综上所述,本申请包括以下至少一种有益技术效果:
获取到目标容器的容器网格模型后,确定水面高度参数,从而确定用户想要在目标容器中生成水体的高度位置,接着以此水面高度参数,生成在对应的高度上的水平剖切平面,然后利用此水平剖切平面在对应的水面高度上对容器网格模型进行剖切,得到剖面轮廓,进而确定剖面轮廓上多个离散点。进一步地,根据各个离散点,生成方便后续进行水面渲染的容器水网格模型,最后由水面渲染管线对此容器水网格模型进行水面渲染,得到适配目标容器的适配水体,从而无需通过粒子系统在容器中模拟出所有水体,只需在得到容器水网格模型进行水面渲染即可,提升生成适配容器的水体的便捷性。
附图说明
图1是本申请实施例提供的一种适配容器的水体生成方法的流程示意图;
图2是本申请实施例提供的一种适配水体生成的示意图;
图3是本申请实施例提供的另一种适配容器的水体生成方法的流程示意图;
图4是本申请实施例提供的一种适配容器的水体生成装置的结构示意图;
图5是本申请实施例提供的另一种适配容器的水体生成装置的结构示意图。
附图标记说明:11、容器获取模块;12、平面生成模块;13、轮廓切割模块;14、水面确定模块;15、水面渲染模块;16、反射渲染模块。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
参见图1,本申请实施例公开了一种适配容器的水体生成方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的适配容器的水体生成装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S101:获取目标容器的容器网格模型。
具体的,网格模型是计算机图形学中用于为各种不规则物体建立模型的一种数据结构。它可以用mesh表示,它可以由许多较小的三角形面片组成,用于模拟不规则的物体表面。在本申请实施例中,容器网格模型表示目标容器的表面形状和外观。目标容器可以为规则形状的容器,也可以不规则形状的容器。
一种可行的获取容器网格模型的方式为:通过3Dmax软件创建目标容器对应的容器网格模型,其中,3Dmax软件是基于PC系统的3D建模渲染和制作软件,可以用于三维物体的网格模型的创建。最后,通过终端将此容器网格模型输入到服务器,对于服务器侧,即获取到目标容器的容器网格模型,终端可以是诸如个人计算机(PersonalComputer,PC)、平板电脑等。服务器为独立的物理服务器,也可以是多个物理服务器构成的服务器集群。需要说明的是,本申请实施例公开了一种适配容器的水体生成方法的执行主体为服务器。
S102:确定目标容器的水面高度参数,并根据水面高度参数生成水平剖切平面。
具体的,容器网格模型确定后,确定目标容器的水面高度参数,即,即将生成适配此目标容器的水体在目标容器中的高度。一种可行确定方式为:通过预设的射线检测算法,确定目标容器的水面高度参数。其中,射线检测算法是一种常用的计算机图形学算法,可以生成虚拟的射线,用于检测和判断射线与物体之间的交点。调整射线的起点和方向,使得射线与目标容器的交点处于用户想要的水体高度处,最后射线检测算法确定此交点的交点坐标,进而根据交点坐标,确定水体的水面高度参数,即,水面到目标容器底部的垂直距离。
进一步地,通过Vulkcan或OpenGL等图形库中的函数在此水面高度参数对应的高度上生成水平剖切平面,其中,此水平剖切平面贯穿此目标容器对应的容器网格模型,具体可参见图2。
S103:通过水平剖切平面对容器网格模型进行剖切,得到剖面轮廓对应的多个离散点。
具体的,在水平剖切平面确定后,将水平剖切平面对容器网格模型进行剖切,即,确定水平剖切平面与容器网格模型相交部分,在本申请实施例中,确定水平剖切平台与容器网格模型内壁的相交部分,最终得到剖面轮廓,具体可通过线段和平面求交算法,确定剖面轮廓。
进一步地,通过Ramer-Douglas-Peucker算法对剖面轮廓进行采样,得到多个离散点,具体可参见图2。在另一实施例中,还可以通过水平剖切平面对容器网格模型中的三角面片棱线进行切割处理,最终得到多个离散点。其中,在计算机图形学和计算机科学中,离散点也称为采样点或像素,是指在二维或三维空间中,通过数字化方法获取的点的集合,可以用于表示曲线、曲面或三维实体的顶点。
S104:基于各离散点,生成目标容器中水体表面对应的容器水网格模型。
在一个可实现的实施方式中,将各离散点组合得到离散点集合;
对离散点集合进行排序去重处理,得到去重后离散点集合;
计算去重后离散点集合对应的目标凸包,并根据目标凸包确定水平剖切平面上的闭合图形;
对闭合图形进行三角面片化处理,得到目标容器中水体表面对应的容器水网格模型。
具体的,离散点确定后,将所有离散点组合得到离散点集合,接着对离散点集合中的离散点进行排序去重,主要是对离散点集合中的离散点按照一定的顺序进行排序,并去除重复的点。这个过程的主要目的是简化离散点集合,去除重复的点,最终得到有序且不包含重复点的去重后离散点集合,使得处理和表示更加简洁和高效。其中,可以按照坐标值的大小对离散点进行排序。
凸包是一种常见的概念,被用于很多领域如数据压缩、碰撞检测、图像处理等。给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它是能包含点集中所有点的最小凸多边形。在得到去重后离散点集合后,通过convhull函数计算对应的目标凸包,进一步地,通过凸包计算算法,计算目标凸包上所有顶点的坐标,根据坐标,将所有顶点依次进行连接,得到在水平剖切平面上的封闭图形,其中,凸包计算算法可以为Graham扫描算法,在其它实施例中,也可以为Jarvis步进算法。
进一步地,对闭合图形进行三角面片化处理,最终在目标容器中对应的水面高度上形成水体表面对应的容器水网格模型。三角面片化处理指的是将曲面或复杂的三维模型转换为由多个三角形面片组成的过程,在本申请实施例中采用CGAL库中的函数对闭合图形进行三角面片化处理,从而使得闭合图形进行离散化,以便于后续提高水面渲染的速度,提高水面渲染的效率。
S105:通过预设的水面渲染管线对容器水网格模型进行水面渲染,得到目标容器的适配水体。
具体的,渲染管线指的是渲染流水线或像素流水线,是显示芯片内部处理图形信号相互独立的并行处理单元。在本申请实施例中,水面渲染管线用于对容器水网格模型进行水面渲染,使其在视觉效果上更像水体表面,过程中需将水面纹理贴到容器水网格模型上,而且还计算光线照射到水面时的反射和折射效应,另外,为了模拟水面上的波动效果,需通过物理引擎生成水波,并将其应用到容器水网格模型上,最终目标容器对应的适配水体,即适配目标容器的水体,具体可参见图2。需要说明的是,由于适配水体是装在目标容器中,因此适配水体的生成并非指生成目标容器中所有容量的水体,而是在目标容器对应的水面高度上生成水体表面。
参见图3,本申请实施例公开了另一种适配容器的水体生成方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的适配容器的水体生成装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S201:获取目标容器的容器网格模型。
S202:确定目标容器的水面高度参数,并根据水面高度参数生成水平剖切平面。
S203:通过水平剖切平面对容器网格模型进行剖切,得到剖面轮廓对应的多个离散点。
S204:基于各离散点,生成目标容器中水体表面对应的容器水网格模型。
S205:通过预设的水面渲染管线对容器水网格模型进行水面渲染,得到目标容器的适配水体。
具体的,可参考步骤S101-S105,在此不再赘述。
S206:确定适配水体的水面对目标容器的周围环境的反射贴图。
在一个可实现的实施方式中,将适配水体的水面确定为对称面,并基于对称面在预设的主渲染相机的对称位置设置副渲染相机;
通过副渲染相机对目标容器的周围环境的影像进行渲染,得到反射贴图。
具体的,目标容器的适配水体确定后,如果目标容器对应的容器网格模型在3D场景中的室外,为了使生成的适配水体在视觉效果上更加真实,那么还需在适配水体的水面添加对周围环境的反射效果。容器网格模型所处的3D场景中预先设置有主渲染相机,其与屏幕视角一致,主渲染相机(MainRenderCamera),又称主相机,指的是在水面渲染过程中起主导作用的相机。它负责确定渲染的视角、视场、裁剪等重要参数,并最终决定渲染结果的表现形式。主渲染相机通常被放置在场景中的特定位置,以便捕捉到最佳的视角和效果。屏幕视角指的是用户通过终端的屏幕看到的容器网格模型的视角,主渲染相机与屏幕视角一致可以使得用户通过屏幕能看到渲染效果较好的水面。
进一步地,将适配水体的水面确定为对称面,在主渲染相机的对称位置上设置副渲染相机,副渲染相机位于对称面靠近目标容器底部的一侧,可以理解为:副渲染相机位于适配水体的水面以下。通过副渲染相机,按照从水下到水面的视角方向,捕捉目标容器的周围环境的影像,或者适配水体的周围环境的影像,然后对影像进行渲染,将三维模型或场景转换为二维图像,最终得到反射贴图。即,适配水体的水面对目标容器周围环境的反射影像。需要说明的是,反射贴图是一种将渲染结果作为贴图贴附到物体表面上去的技术,它主要用于模拟物体表面的反射效果。在计算机图形学中,反射贴图通常是通过将渲染结果作为纹理映射到一个几何形状上来实现的。
S207:对反射贴图进行采样,得到不同位置的反射颜色。
S208:将各反射颜色与适配水体对应位置的基础颜色进行叠加,得到仿真水体。
具体的,反射贴图确定后,根据反射贴图中每个位置点的屏幕坐标,通过预设的采样器对反射贴图对应的位置点进行纹理颜色采样,以确定反射贴图不同像素点的像素值,得到不同位置的反射颜色,最终得到屏幕视角下适配水体的水面不同位置的反射颜色。
进一步地,将各个不同位置的反射颜色与适配水体对应位置的基础颜色进行叠加,最终得到对周围环境的反射的仿真水体,使得目标容器中生成的水体更接近真实水体。其中,基础颜色指的是通过水面渲染管线进行水面渲染后的水体颜色(未考虑对周围环境的反射),基础颜色包括折射颜色。根据屏幕坐标,通过采样器对适配水体相应位置进行颜色采样,得到对应位置的基础颜色。在其它实施例中,可以通过菲涅尔方程计算得到目标容器中适配水体的折射颜色。例如,需要对屏幕坐标(x1,y1)的水面位置点的反射颜色和基础颜色进行叠加,那么根据屏幕坐标(x1,y1),锁定反射贴图对应的位置点并进行颜色采样,得到此位置上的反射颜色。同理,锁定适配水体上对应的位置点并进行颜色采样,得到此位置上的基础颜色。
另外,对反射颜色和基础颜色进行叠加的可行方式为:根据预设的菲涅尔方程,将各反射颜色与适配水体对应位置的基础颜色进行叠加,得到适配水体对应的仿真水体。
其中,菲涅尔方程是描述光在介质边界上反射和折射现象的数学方程,特别适用于水面的反射和折射计算。根据菲涅尔方程,可以计算出不同角度下的反射和折射光线方向和强度,从而模拟出水面反射和折射的光线效果。在本申请实施例中,通过菲涅尔方程可以将水面每个位置点的反射效果和折射效果进行叠加,即,对水面上每个位置点的反射颜色与基础颜色进行叠加,最终得到适配水体的仿真水体。
本申请实施例适配容器的水体生成方法的实施原理为:获取到目标容器的容器网格模型后,确定水面高度参数,从而确定用户想要在目标容器中生成水体的高度位置,接着以此水面高度参数,生成在对应的高度上的水平剖切平面,然后利用此水平剖切平面在对应的水面高度上对容器网格模型进行剖切,得到剖面轮廓,进而确定剖面轮廓上多个离散点。进一步地,根据各个离散点,生成方便后续进行水面渲染的容器水网格模型,最后由水面渲染管线对此容器水网格模型进行水面渲染,得到适配目标容器的适配水体,从而无需通过粒子系统在容器中模拟出所有水体,只需在得到容器水网格模型进行水面渲染即可,提升生成适配容器的水体的便捷性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图4,为本申请实施例提供的适配容器的水体生成装置的结构示意图。该应用于适配容器的水体生成装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括容器获取模块11、平面生成模块12、轮廓切割模块13、水面确定模块14以及水面渲染模块15。
容器获取模块11,用于获取目标容器的容器网格模型;
平面生成模块12,用于确定目标容器的水面高度参数,并根据水面高度参数生成水平剖切平面;
轮廓切割模块13,用于通过水平剖切平面对容器网格模型进行剖切,得到剖面轮廓对应的多个离散点;
水面确定模块14,用于基于各离散点,生成目标容器中水体表面对应的容器水网格模型;
水面渲染模块15,用于通过预设的水面渲染管线对容器水网格模型进行水面渲染,得到目标容器的适配水体。
可选的,水面确定模块14,具体用于:
将各离散点组合得到离散点集合;
对离散点集合进行排序去重处理,得到去重后离散点集合;
计算去重后离散点集合对应的目标凸包,并根据目标凸包确定水平剖切平面上的闭合图形;
对闭合图形进行三角面片化处理,得到目标容器中水体表面对应的容器水网格模型。
可选的,如图5所示,装置1还包括反射渲染模块16,具体用于:
确定适配水体的水面对目标容器的周围环境的反射贴图;
对反射贴图进行采样,得到不同位置的反射颜色;
将各反射颜色与适配水体对应位置的基础颜色进行叠加,得到仿真水体。
可选的,反射渲染模块16,具体还用于:
将适配水体的水面确定为对称面,并基于对称面在预设的主渲染相机的对称位置设置副渲染相机,副渲染相机在对称面靠近目标容器底部的一侧,主渲染相机的视角与屏幕视角一致;
通过副渲染相机对目标容器的周围环境的影像进行渲染,得到反射贴图。
可选的,反射渲染模块16,具体还用于:
根据预设的菲涅尔方程,将各反射颜色与适配水体对应位置的基础颜色进行叠加,得到适配水体对应的仿真水体。
可选的,平面生成模块12,具体用于:
通过预设的射线检测算法,确定目标容器的水面高度参数。
需要说明的是,上述实施例提供的一种适配容器的水体生成装置在执行适配容器的水体生成方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种适配容器的水体生成装置与一种适配容器的水体生成方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种适配容器的水体生成方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例的一种适配容器的水体生成方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
本申请实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种适配容器的水体生成方法。
其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本电子设备,将上述实施例的一种适配容器的水体生成方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种适配容器的水体生成方法,其特征在于,所述方法包括:
获取目标容器的容器网格模型;
确定所述目标容器的水面高度参数,并根据所述水面高度参数生成水平剖切平面;
通过所述水平剖切平面对所述容器网格模型进行剖切,得到剖面轮廓对应的多个离散点;
基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型;
通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体。
2.根据权利要求1所述的适配容器的水体生成方法,其特征在于,所述基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型,具体包括:
将各所述离散点组合得到离散点集合;
对所述离散点集合进行排序去重处理,得到去重后离散点集合;
计算所述去重后离散点集合对应的目标凸包,并根据所述目标凸包确定所述水平剖切平面上的闭合图形;
对所述闭合图形进行三角面片化处理,得到所述目标容器中水体表面对应的容器水网格模型。
3.根据权利要求1所述的适配容器的水体生成方法,其特征在于,所述通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体之后,还包括:
确定所述适配水体的水面对所述目标容器的周围环境的反射贴图;
对所述反射贴图进行采样,得到不同位置的反射颜色;
将各所述反射颜色与所述适配水体对应位置的基础颜色进行叠加,得到仿真水体。
4.根据权利要求3所述的适配容器的水体生成方法,其特征在于,所述确定所述适配水体的水面对所述目标容器的周围环境的反射贴图,具体包括:
将所述适配水体的水面确定为对称面,并基于所述对称面在预设的主渲染相机的对称位置设置副渲染相机,所述副渲染相机在所述对称面靠近所述目标容器底部的一侧,所述主渲染相机的视角与屏幕视角一致;
通过所述副渲染相机对所述目标容器的周围环境的影像进行渲染,得到反射贴图。
5.根据权利要求3所述的适配容器的水体生成方法,其特征在于,所述将各所述反射颜色与所述适配水体对应位置的基础颜色进行叠加,得到仿真水体,具体包括:
根据预设的菲涅尔方程,将各所述反射颜色与所述适配水体对应位置的基础颜色进行叠加,得到所述适配水体对应的仿真水体。
6.根据权利要求1所述的适配容器的水体生成方法,其特征在于,所述确定所述目标容器的水面高度参数,具体包括:
通过预设的射线检测算法,确定所述目标容器的水面高度参数。
7.一种适配容器的水体生成装置,其特征在于,包括:
容器获取模块(11),用于获取目标容器的容器网格模型;
平面生成模块(12),用于确定所述目标容器的水面高度参数,并根据所述水面高度参数生成水平剖切平面;
轮廓切割模块(13),用于通过所述水平剖切平面对所述容器网格模型进行剖切,得到剖面轮廓对应的多个离散点;
水面确定模块(14),用于基于各所述离散点,生成所述目标容器中水体表面对应的容器水网格模型;
水面渲染模块(15),用于通过预设的水面渲染管线对所述容器水网格模型进行水面渲染,得到所述目标容器的适配水体。
8.根据权利要求7所述的适配容器的水体生成装置,其特征在于,所述水面确定模块,具体用于:
将各所述离散点组合得到离散点集合;
对所述离散点集合进行排序去重处理,得到去重后离散点集合;
计算所述去重后离散点集合对应的目标凸包,并根据所述目标凸包确定所述水平剖切平面上的闭合图形;
对所述闭合图形进行三角面片化处理,得到所述目标容器中水体表面对应的容器水网格模型。
9.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-6中任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,其特征在于,所述处理器加载并执行计算机程序时,采用了权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410083870.3A CN117934686A (zh) | 2024-01-19 | 2024-01-19 | 适配容器的水体生成方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410083870.3A CN117934686A (zh) | 2024-01-19 | 2024-01-19 | 适配容器的水体生成方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117934686A true CN117934686A (zh) | 2024-04-26 |
Family
ID=90764235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410083870.3A Pending CN117934686A (zh) | 2024-01-19 | 2024-01-19 | 适配容器的水体生成方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117934686A (zh) |
-
2024
- 2024-01-19 CN CN202410083870.3A patent/CN117934686A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3080781B1 (en) | Image rendering of laser scan data | |
US20210209848A1 (en) | Image rendering of laser scan data | |
US6529192B1 (en) | Method and apparatus for generating mesh models of 3D objects | |
US8531457B2 (en) | Apparatus and method for finding visible points in a cloud point | |
CN110728740B (zh) | 虚拟摄影测量 | |
US6999073B1 (en) | Method and system for generating fully-textured 3D | |
KR101885090B1 (ko) | 영상 처리 장치, 조명 처리 장치 및 그 방법 | |
KR20130026853A (ko) | 복셀 그리드를 이용한 포인트 클라우드의 렌더링 방법 및 장치 | |
CN112819941B (zh) | 渲染水体面的方法、装置、设备和计算机可读存储介质 | |
US6791544B1 (en) | Shadow rendering system and method | |
JPH06231272A (ja) | グラフィック・プリミティブを表現する方法および装置並びにコンピュータ装置 | |
CN112419460A (zh) | 烘焙模型贴图的方法、装置、计算机设备和存储介质 | |
US20180137671A1 (en) | Out-of-core point rendering with dynamic shapes | |
Wand et al. | Multi-Resolution Point-Sample Raytracing. | |
US8948498B1 (en) | Systems and methods to transform a colored point cloud to a 3D textured mesh | |
CN117934686A (zh) | 适配容器的水体生成方法、装置、存储介质及电子设备 | |
US20110074777A1 (en) | Method For Displaying Intersections And Expansions of Three Dimensional Volumes | |
JP4904638B2 (ja) | 3次元形状データの生成方法および装置並びにコンピュータプログラム | |
Ozendi et al. | Stochastic surface mesh reconstruction | |
Lysykh et al. | The realistic rendering of scenes defined by the cloud of points | |
US20220076426A1 (en) | Method for segmenting an image | |
CN116342786A (zh) | 模型优化方法、装置、电子设备及存储介质 | |
WO2008065661A2 (en) | Apparatus and method for finding visible points in a point cloud | |
WO2023056559A1 (en) | Systems and methods for compositing a virtual object in a digital image | |
Sukys | Light probe cloud generation for games |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhou Yongjiang Inventor after: Zhao Jingping Inventor before: Zhou Yongjiang |