一种三维模型网格合并方法技术

技术编号:34901121 阅读:19 留言:0更新日期:2022-09-10 14:06
本发明专利技术公开了一种三维模型网格合并方法,属于三维模型处理技术领域,包括下述步骤:构建三维模型网格:加载至少两个模型文件,获得至少两个三维模型网格的数据;获得矩阵变换的点集:每个三维模型网格包括几何建模数据、材质数据和矩阵信息,每个几何建模数据包括三维顶点集合和三角面集合;每个三维模型网格的几何建模数据不变,改变矩阵信息获得新的几何建模数据的新三维顶点集合;合并材质数据;生成单个网格物体;本申请旨在提供一种三维模型网格合并方法,通过合并获得新的三维模型网格,集合了多个三维模型网格的数据,能够节省CPU的处理次数,提高GPU的使用率,提高渲染效率。提高渲染效率。提高渲染效率。

【技术实现步骤摘要】
一种三维模型网格合并方法


[0001]本专利技术涉及三维模型处理
,尤其涉及一种三维模型网格合并方法。

技术介绍

[0002]在室内设计软件领域,越来越多的产品类型加入进来,像天花、铺砖、沙发、饰品、背景墙、橱柜、衣柜等。这意味着我们要生成更多的三维模型网格进行渲染显示。
[0003]而渲染的效率又跟三维模型网格的数目有很大的关系,三维模型网格的数目越多渲染的速度越慢。特别是像瓷砖这种,一个100m*100m的大空间如果用0.3m*0.3m的小砖去铺的话就会生成1万多个三维模型网格,严重影响了渲染的效率,所以这时三维模式网格合并技术就变得很有必要。

技术实现思路

[0004]本专利技术的目的在于提出一种三维模型网格合并方法,通过多个三维模型网格进行合并获得新的三维模型网格,在一个三维模型网格内集合了多个三维模型网格的数据,在后端处理过程中,能够节省CPU的处理次数,提高GPU的使用率,使CPU和GPU的使用率较为均衡,提高渲染效率。
[0005]为达此目的,本专利技术采用以下技术方案:一种三维模型网格合并方法,包括下述步骤:
[0006]构建三维模型网格:加载至少两个模型文件,获得至少两个三维模型网格的数据;
[0007]获得矩阵变换的点集:每个三维模型网格包括几何建模数据、材质数据和矩阵信息,每个几何建模数据包括三维顶点集合和三角面集合;每个三维模型网格的几何建模数据不变,改变矩阵信息获得新的几何建模数据的新三维顶点集合;
[0008]合并点集和三角面索引:将所有的三维模型网格的新三维顶点集合进行合并,将所有的三维模型网格的三角面集合进行连接,获得合并的新的三维模型网格;
[0009]合并材质数据:将各个三维模型网格的材质数据连接合并成材质列表;
[0010]生成单个网格物体:整合新的三维模型网格和材质列表,获得新的单个网格物体。
[0011]优选的,在所述构建三维模型网格的步骤中,具体包括:通过GLTFLoader加载器将多个模型文件加载,获得多个Object3D结构,每个Object3D结构均包括一个三维模型网格。
[0012]优选的,在所述获得矩阵变换的点集的步骤中,具体包括:每个三维模型网格的几何建模数据不变,将每个三维模型网格的三维顶点集合的每个元素乘以矩阵信息,得到新三维顶点集合。
[0013]优选的,在所述合并点集和三角面索引的步骤中,具体包括:将两个三维模型网格的新三维顶点集合进行合并作为新的三维模型网格的新三维顶点集合,再将新的三维模型网格的新三维顶点集合与其余的三维模型网格的新三维顶点集合进行合并,重复操作直至完成所有三维模型网格的新三维顶点集合的合并;
[0014]三角面集合包括顶点索引和元素数目,两个三维模型网格合并时,将一个三维模
型网格的三角面集合的顶点索引加上另一个三维模型网格的三角面集合的元素数目作为新的三维模型网格的顶点索引,将一个三维模型网格的元素数目加上另一个三维模型网格的元素数目作为新的三维模型网格的元素数目。
[0015]优选的,在所述合并材质数据的步骤中,具体包括:将多个三维模型网格的材质数据连接成一个材质数组集合,每个三维模型网格的材质数据在材质数组集合中的排序即为对应材质数据的索引。
[0016]优选的,在所述生成单个网格物体的步骤中,具体包括:获得新的三维模型网格的新三维顶点集合、三角面集合以及材质列表,根据新三维顶点集合和三角面集合构建新的几何建模数据,整合新的几何建模数据和材质列表,获得新的三维模型网格。
[0017]本专利技术的一个技术方案的有益效果:本申请通过多个三维模型网格进行合并,获得合并后的新的三维模型网格,新的三维模型网格在一个三维模型网格内集合了多个三维模型网格的数据,在后端处理过程中,能够节省CPU的处理次数,提高GPU的使用率,使CPU和GPU的使用率较为均衡,提高渲染效率。例如100万个单个三角面的三维模型网格与单个具有100万个三角面的三维模型网格,前者CPU处理时,需要提交100万次数据,导致CPU一直处于忙碌状态,后者只需要提交一次数据,而GPU在绘制单个三角面的耗时与绘制100万个三角面的耗时,实际相差较小,因此,前者会出现CPU一直忙碌,GPU空闲的情况,后者CPU和GPU的使用率较为均衡,后者的流畅程度要远远高于前者,通过本申请的合并三维模型网格的方法,能加快渲染的速度。
附图说明
[0018]图1是本专利技术一个实施例的步骤示意图。
具体实施方式
[0019]下面结合附图并通过具体实施方式来进一步说明本专利技术的技术方案。
[0020]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能理解为对本专利技术的限制。
[0021]在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0022]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0023]参阅图1所示,一种三维模型网格合并方法,包括下述步骤:
[0024]构建三维模型网格:加载至少两个模型文件,获得至少两个三维模型网格的数据;
[0025]获得矩阵变换的点集:每个三维模型网格包括几何建模数据、材质数据和矩阵信息,每个几何建模数据包括三维顶点集合和三角面集合;每个三维模型网格的几何建模数据不变,改变矩阵信息获得新的几何建模数据的新三维顶点集合;
[0026]合并点集和三角面索引:将所有的三维模型网格的新三维顶点集合进行合并,将
所有的三维模型网格的三角面集合进行连接,获得合并的新的三维模型网格;
[0027]合并材质数据:将各个三维模型网格的材质数据连接合并成材质列表;
[0028]生成单个网格物体:整合新的三维模型网格和材质列表,获得新的单个网格物体。
[0029]在室内设计软件领域,越来越多的产品类型加入进来,像天花、铺砖、沙发、饰品、背景墙、橱柜、衣柜等。这意味着我们要生成更多的三维模型网格进行渲染显示。
[0030]而渲染的效率又跟三维模型网格的数目有很大的关系,三维模型网格的数目越多渲染的速度越慢。特别是像瓷砖这种,一个100m*100m的大空间如果用0.3m*0.3m的小砖去铺的话就会生成1万多个三维模型网格,严重影响了渲染的效率。所以这时三维模式网格合并技术就变得很有必要,三维模型网格拥有几何建模数据geometry、材质数据material和矩阵信息matrix,其中几何建模数据geometry里面有包含三本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维模型网格合并方法,其特征在于,包括下述步骤:构建三维模型网格:加载至少两个模型文件,获得至少两个三维模型网格的数据;获得矩阵变换的点集:每个三维模型网格包括几何建模数据、材质数据和矩阵信息,每个几何建模数据包括三维顶点集合和三角面集合;每个三维模型网格的几何建模数据不变,改变矩阵信息获得新的几何建模数据的新三维顶点集合;合并点集和三角面索引:将所有的三维模型网格的新三维顶点集合进行合并,将所有的三维模型网格的三角面集合进行连接,获得合并的新的三维模型网格;合并材质数据:将各个三维模型网格的材质数据连接合并成材质列表;生成单个网格物体:整合新的三维模型网格和材质列表,获得新的单个网格物体。2.根据权利要求1所述的一种三维模型网格合并方法,其特征在于,在所述构建三维模型网格的步骤中,具体包括:通过GLTFLoader加载器将多个模型文件加载,获得多个Object3D结构,每个Object3D结构均包括一个三维模型网格。3.根据权利要求1所述的一种三维模型网格合并方法,其特征在于,在所述获得矩阵变换的点集的步骤中,具体包括:每个三维模型网格的几何建模数据不变,将每个三维模型网格的三维顶点集合的每个元素乘以矩阵信息,得到新三维顶点集合。4.根据权利要求1所述...

【专利技术属性】
技术研发人员:林益涵成志峰曾广杰李连柱
申请(专利权)人:广州市圆方计算机软件工程有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1