一种提升分层分块三维模型数据渲染效率的分类优化方法与流程

文档序号:21444355发布日期:2020-07-10 17:33阅读:545来源:国知局
一种提升分层分块三维模型数据渲染效率的分类优化方法与流程

本发明涉及数据处理技术领域,具体涉及一种提升分层分块三维模型数据渲染效率的分类优化方法。



背景技术:

分层分块是倾斜摄影三维模型常用的一种数据结构,其主要目的是改善大规模异构数据集的流和渲染性能。它的基础是一种空间数据结构,支持层次结构细节级别(hlod)。因此分层分块三维模型格式经常应用于web端大尺度三维场景展示,如3dtile格式。

但是由于分层分块三维模型数据量巨大,在一些性能不足的终端(如智能手机)存在加载缓慢、渲染卡顿、流量消耗大的问题。此外,分层分块三维模型场景中,重要对象和非重要对象同时存在,而后者存在大量冗余数据。同时,由于分层分块三维模型数据必须同时支持高性能终端(如桌面端)和低性能终端(如手机),因此必须保证不实际删除分层分块三维模型中的所有层级节点数据。

因此需要一种不实际删除分层分块三维模型数据,又能提升模型渲染效率的分类优化方法。



技术实现要素:

鉴于此,本发明提供一种提升分层分块三维模型数据渲染效率的分类优化方法,旨在实现在不实际删除模型数据的情况下,大幅提升分层分块三维模型的渲染效率。

为实现以上目的,本发明采用如下技术方案:

一种提升分层分块三维模型数据渲染效率的分类优化方法,其特征在于,包括以下步骤:

步骤s1:根据拟分类优化的分层分块三维模型的三维场景,确定需分类优化的类型,以及每一个类型所对应的阈值;

步骤s2:确定分层分块三维模型数据中的所有层级节点的类型,以及相对应的阈值;

步骤s3:在分层分块三维模型数据的索引文件中,删除对层级高于其对应阈值的所有节点及其子节点的引用;

步骤s4:前端调用更新后的分层分块三维模型数据索引文件,实现渲染效率提升。

在一种可能的设计中,所述步骤s1中的阈值,其有效数值大于等于分层分块三维模型数据的最顶层级数,且小于等于分层分块三维模型数据的最底层级数。

在一种可能的设计中,当步骤s1中类型的数量大于1时,所述步骤s2中确定所有层级节点的类型和阈值的步骤为:自上而下遍历分层分块三维模型数据的所有层级节点,通过识别技术确定每个节点的类型,并指定相对应的阈值。

在一种可能的设计中,所述自上而下遍历,其终止条件为遍历到用户指定层级或遍历所有层级。

在一种可能的设计中,所述自上而下遍历,当当前处理的某个层级节点被识别为步骤s1中的一个类型,即可停止识别其下层所有子节点,并赋予下层所有子节点与当前层级节点相同的类型。

在一种可能的设计中,所述用户指定层级,其有效数值大于等于分层分块三维模型数据的最顶层级数,且小于等于分层分块三维模型数据的最底层级数。

在一种可能的设计中,所述识别技术,包括基于二维影像的识别技术、基于三维高程的识别技术、基于点云的识别技术、基于三维形态的识别技术,以上所有识别技术的一种或多种相结合。

在一种可能的设计中,所述每个节点的类型,其确定依据为该节点的整体特征所代表的主体类型。

在一种可能的设计中,当步骤s1中类型的数量等于1时,分层分块三维模型数据中的所有层级节点的类型相同,对应的阈值也相同。

本发明所述方法,可以实现在不实际删除模型数据的情况下,大幅提升分层分块三维模型的渲染效率,并支持多终端自适应显示。

附图说明

附图1为本发明一实施例提供的一种提升分层分块三维模型数据渲染效率的分类优化方法的流程示意图。

具体实施方式

以下采用本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

实施例1

参见附图1,本发明一实施例提供的一种提升分层分块三维模型数据渲染效率的分类优化方法,包括以下步骤:

步骤s1:根据拟分类优化的分层分块三维模型的三维场景,确定需分类优化的类型,以及每一个类型所对应的阈值。在本实施例中,为了使分层分块三维模型数据中的地物,能够根据重要程度不同,得到充分优化,故根据拟分类优化的分层分块三维模型场景,确定需分类优化的类型为居民点、农林用地、水域和其他这四类。指定居民点对应的阈值为20,农林用地对应的阈值为19,水域对应的阈值为18,其他对应的阈值为17。这里的阈值越大,优化程度越低,加载的节点细节程度越多,阈值越小,优化程度越高,加载的节点细节程度越少;

步骤s2:确定分层分块三维模型数据中的所有层级节点的类型,以及相对应的阈值;

步骤s3:在分层分块三维模型数据的索引文件中,删除对层级高于其对应阈值的所有节点及其子节点的引用。在本实施例中,在分层分块三维模型数据json格式的索引文件中,删除属于居民点类且层级高于20的所有节点及其子节点的引用,删除属于农林用地类且层级高于19的所有节点及其子节点的引用,删除属于水域类且层级高于18的所有节点及其子节点的引用,删除属于其他类且层级高于17的所有节点及其子节点的引用;

步骤s4:前端调用更新后的分层分块三维模型数据索引文件,实现渲染效率提升。在本实施例中,前端调用更新后的分层分块三维模型json格式的索引文件,由于索引文件删除了大量层级高于阈值的节点,避免了终端加载到高细节程度的子节点,从而实现渲染效率提升。

在本实施例中,所述步骤s1中的阈值分别为20、19、18、17,其有效数值大于等于分层分块三维模型数据的最顶层级数16,且小于等于分层分块三维模型数据的最底层级数24。若阈值大于24,则在本实施例中,将没有比24级更高的层级节点的索引被删除,起不到优化效果;若阈值小于16,则在本实施例中,所有的层级节点的索引都被删除,模型将加载不到。

在本实施例中,步骤s1中类型的数量等于4,大于1,故所述步骤s2中确定所有层级节点的类型和阈值的步骤为:自上而下遍历分层分块三维模型数据的所有层级节点,通过识别技术确定每个节点的类型,并指定相对应的阈值。

在本实施例中,所述自上而下遍历,其终止条件为遍历所有层级。

在本实施例中,所述自上而下遍历,当当前处理的某个层级节点被识别为步骤s1中的一个类型,即可停止识别其下层所有子节点,并赋予下层所有子节点与当前层级节点相同的类型。例如,当当前处理的第17级节点被识别为步骤s1中的居民点类,即可停止识别其下的第18至24层子节点,并赋予第18至24层所有子节点居民点类型。该方法的目的是为了减少识别次数,提高整个优化效率。

在本实施例中,所述识别技术,采用基于二维影像和基于三维形态两种相结合的ai识别技术。

在本实施例中,所述每个节点的类型,其确定依据为该节点的整体特征所代表的主体类型。

实施例2

参见附图1,本发明一实施例提供的一种提升分层分块三维模型数据渲染效率的分类优化方法,包括以下步骤:

步骤s1:根据拟分类优化的分层分块三维模型的三维场景,确定需分类优化的类型,以及每一个类型所对应的阈值。在本实施例中,为实现快速优化,根据拟分类优化的分层分块三维模型场景,确定需分类优化的类型为一类,命名为x类。只有一类,说明无需考虑地物类型,采用统一的优化程度。指定x类所对应的阈值为19。一般情况下:阈值20是细节与性能平台较好的取值,适合于建筑较多的地方;阈值18-19,细节略少,略有一些模糊,适合于农林用地;阈值16-17,细节过少,难以辨识,可用于水体这类特征不多的地物;阈值小于16,几何和纹理特征均不足,因此不建议使用;

步骤s2:确定分层分块三维模型数据中的所有层级节点的类型,以及相对应的阈值。在本实施例中,确定分层分块三维模型数据中的所有层级节点的分类优化类型均为x类,相对应的阈值均为19;

步骤s3:在分层分块三维模型数据的索引文件中,删除对层级高于其对应阈值的所有节点及其子节点的引用。在本实施例中,在分层分块三维模型数据的json格式索引文件中,删除对x类中层级高于19的所有节点及其子节点的引用;

步骤s4:前端调用更新后的分层分块三维模型数据索引文件,实现渲染效率提升。在本实施例中,前端调用更新后的分层分块三维模型数据json格式的索引文件,由于该索引文件删除了对层级高于19的所有节点及其子节点的引用,避免了前端加载到大于19级的子节点数据,从而实现渲染效率的提升。

在本实施例中,所述步骤s1中的阈值为19,其有效数值大于等于分层分块三维模型数据的最顶层级数15,且小于等于分层分块三维模型数据的最底层级数23。若阈值大于23,则在本实施例中,将没有比23级更高的层级节点的索引被删除,起不到优化效果;若阈值小于15,则在本实施例中,所有的层级节点的索引都被删除,模型将加载不到。

在本实施例中,步骤s1中类型的数量等于1,分层分块三维模型数据中的所有层级节点的类型相同,均为x类,对应的阈值也相同,均为19。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1