一种三维场景渲染前轻量化网格的优化方法及装置制造方法及图纸

技术编号:36932904 阅读:14 留言:0更新日期:2023-03-22 18:55
本发明专利技术公开了一种三维场景渲染前轻量化网格的优化方法及装置。所述三维场景渲染前轻量化网格的优化方法包括:步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。本申请对庞大的三角形网格进行优化,在确保三角形网格细节损失可控制的前提下,尽量减少描述三维场景细节的三角形网格数量。减少描述三维场景细节的三角形网格数量。减少描述三维场景细节的三角形网格数量。

【技术实现步骤摘要】
一种三维场景渲染前轻量化网格的优化方法及装置


[0001]本申请涉及三维模型优化
,具体涉及一种三维场景渲染前轻量化网格的优化方法以及三维场景渲染前轻量化网格的优化装置。

技术介绍

[0002]在城市级别的海量三维场景中,常常使用千万级别或者上亿的三角形(以下简称三角形网格)来描述三维场景中的构件。如此多的三角形网格其实无论在近景或者是在远景都是没有必要的,或者说是冗余的。如何在渲染这些庞大的三角网格之前,去掉一些冗余的三角形网格,对于提升渲染帧率,减少存储空间的使用是非常必要的。
[0003]因此,希望有一种技术方案来解决或至少减轻现有技术的上述不足。

技术实现思路

[0004]本专利技术的目的在于提供一种三维场景渲染前轻量化网格的优化方法来克服或至少减轻现有技术的至少一个上述缺陷。
[0005]本专利技术的一个方面,提供一种三维场景渲染前轻量化网格的优化方法,所述三维场景渲染前轻量化网格的优化方法包括:步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0006]可选地,所述步骤2包括:通过如下公式获取每条边的坍塌位置:;其中,A为对称矩阵;;f(x,y,z)取得极值时的顶点坐标为坍塌位置。
[0007]可选地,所述步骤3包括:步骤31:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;步骤32:获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最
优坍塌位置。
[0008]可选地,所述步骤31采用如下公式获取距离平方和值:;其中,L2为距离平方和值、为V的转置、V为一个坍塌位置、为对称矩阵,记为。
[0009]可选地,所述步骤4包括:步骤41:获取每个三角形的每个边的位置信息;步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与该端点有连接关系的三角形;步骤43:根据最优坍塌位置获取该最优坍塌位置所对应的边,该边称为待坍塌边;步骤44:待坍塌边的两个端点坍塌至最优坍塌位置,从而形成最优坍塌点;步骤45:通过所述连接关系集合获取与待坍塌边的两个端点分别有连接关系的三角形;步骤46:将各个与待坍塌边的两个端点有连接关系的三角形与所述最优坍塌点进行连接。
[0010]可选地,在完成所述步骤4后,所述三维场景渲染前轻量化网格的优化方法进一步包括:重复所述步骤3及步骤4,直至达到预设条件。
[0011]可选地,所述预设条件为:所述步骤31中的各个距离平方和值均大于预设阈值。
[0012]本申请还提供了一种三维场景渲染前轻量化网格的优化装置,所述三维场景渲染前轻量化网格的优化装置包括:平面信息获取模块,所述平面信息获取模块用于获取待优化三维模型中每个三角形所在的平面的平面信息;坍塌位置获取模块,所述坍塌位置获取模块用于根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;最优坍塌位置选择模块,所述最优坍塌位置选择模块用于选取各个坍塌位置中的一个作为最优坍塌位置;优化模块,所述优化模块用于根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0013]本申请还提供了一种电子设备,所述电子设备包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的三维场景渲染前轻量化网格的优化方法。
[0014]本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时能够实现如上的三维场景渲染前轻量化网格的优化方法。
[0015]有益效果本申请具有如下优点:
本申请的三维场景渲染前轻量化网格的优化方法在海量三维场景渲染之前,会对庞大的三角形网格进行优化,在确保三角形网格细节损失可控制的前提下,尽量减少描述三维场景细节的三角形网格数量,这样通过三角形网格数量的减少与存储空间的降低,可以大幅提升三维场景的渲染帧率,便于城市级三维场景的分发与共享。
附图说明
[0016]图1为本申请第一实施例的三维场景渲染前轻量化网格的优化方法的流程示意图;图2是一种电子设备,用于实现图1所示的三维场景渲染前轻量化网格的优化方法;图3是本申请一实施例的三维模型的示意图。
具体实施方式
[0017]为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
[0018]图1为本申请第一实施例的三维场景渲染前轻量化网格的优化方法的流程示意图。
[0019]如图1所示的三维场景渲染前轻量化网格的优化方法包括:步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。
[0020]本申请的三维场景渲染前轻量化网格的优化方法在海量三维场景渲染之前,会对庞大的三角形网格进行优化,在确保三角形网格细节损失可控制的前提下,尽量减少描述三维场景细节的三角形网格数量,这样通过三角形网格数量的减少与存储空间的降低,可以大幅提升三维场景的渲染帧率,便于城市级三维场景的分发与共享。
[0021]在本实施例中,步骤2包括:通过如下公式获取每条边的坍塌位置:

[0022]在本实施例中,所述步骤3包括:步骤31:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;步骤32:获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最优坍塌位置。
[0023]在本实施例中,所述步骤31采用如下公式获取距离平方和值:;其中,L2为距离平方和值、为V的转置、V为一个坍塌位置、为对称矩阵,记为。
[0024]在本实施例中,所述步骤4包括:步骤41:获取每个三角形的每个边的位置信息;步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种三维场景渲染前轻量化网格的优化方法,其特征在于,所述三维场景渲染前轻量化网格的优化方法包括:步骤1:获取待优化三维模型中每个三角形所在的平面的平面信息;步骤2:根据各个三角形所在的平面的平面信息获取待优化三维模型的每条边的坍塌位置;步骤3:选取各个坍塌位置中的一个作为最优坍塌位置;步骤4:根据最优坍塌位置对待优化三维模型进行优化,从而减少待优化三维模型中的三角形的数量。2.如权利要求1所述的三维场景渲染前轻量化网格的优化方法,其特征在于,所述步骤2包括:通过如下公式获取每条边的坍塌位置:;其中,A为对称矩阵;;f(x,y,z)取得极值时的顶点坐标为坍塌位置。3.如权利要求2所述的三维场景渲染前轻量化网格的优化方法,其特征在于,所述步骤3包括:步骤31:根据各个所述坍塌位置以及每个三角形所在的平面的平面信息获取待优化三维模型的每条边的距离平方和值,其中,一个坍塌位置用于求取一个距离平方和值;步骤32:获取各个距离平方和值中最小的距离平方和值所对应的坍塌位置作为最优坍塌位置。4.如权利要求3所述的三维场景渲染前轻量化网格的优化方法,其特征在于,所述步骤31采用如下公式获取距离平方和值:;其中,L2为距离平方和值、为V的转置、V为一个坍塌位置、为对称矩阵,记为。5.如权利要求4所述的三维场景渲染前轻量化网格的优化方法,其特征在于,所述步骤4包括:步骤41:获取每个三角形的每个边的位置信息;步骤42:分别为每个边的每个端点设置一个连接关系集合,每个连接关系集合包括一个端点以及与该端点有连接关系的三角形;步骤43:根据最优坍塌位置获取该最优坍塌位置所对应的边,该边称为待坍塌边;步骤44:待坍塌边的两个端点坍塌...

【专利技术属性】
技术研发人员:朱旭平宋彬何文武柳晓华
申请(专利权)人:北京飞渡科技股份有限公司
类型:发明
国别省市:

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

1