CN114332322A - 一种三维场景下单体模型的大数据渲染方法 - Google Patents
一种三维场景下单体模型的大数据渲染方法 Download PDFInfo
- Publication number
- CN114332322A CN114332322A CN202111440579.XA CN202111440579A CN114332322A CN 114332322 A CN114332322 A CN 114332322A CN 202111440579 A CN202111440579 A CN 202111440579A CN 114332322 A CN114332322 A CN 114332322A
- Authority
- CN
- China
- Prior art keywords
- model
- rendering
- data
- tile
- visual field
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种三维场景下单体模型的大数据渲染方法,包括以下步骤:步骤1)、渲染模型:首先对所有的三维模型数据进行采集,获取当前三维场景模块内的可视域数据集,按可视域数据集内的瓦片网格为单位进行渲染数据;步骤2)、根据计算的当前视域内瓦片网格集合,循环所有瓦片网格,根据每个瓦片网格的x、y、z值通过多线程读取或采集后端接口异步获取该瓦片网格内的所有单体模型坐标及属性数据;步骤3)、获取到每个瓦片网格的单体模型坐标数据后,判断三维场景模块内的可视域是否超出限定的层级和是否不在视域内,如果超出限定的层级或不在视域内,则直接从渲染模型存储模块中剔除,即结束模型渲染;否则再加入渲染模型存储模块中。
Description
技术领域
本发明属于地理信息数据处理技术领域,具体涉及一种三维场景下单体模型的大数据渲染方法。
背景技术
随着包括基建数据的地理数据应用的不断深入,基于三维模型的场景信息处理技术须要不断升级。如:中国专利《一种城市三维场景数据的室内外一体化组织方法》(申请号201410085589.X;申请日2014.03.10)公开了一种实现三维场景数据的可视化方案,其虽然公开利用室外场景数据采用基于四叉树的组织技术,具体的包括重新构建三维渲染场景,渲染数据更新和坐标系统转换,并提出了三维可视化的提高效率方案,这种的数据对象比较简单,数据处理方式也是比较简单,对于包括对地理数据的这种大数据如何渲染处理完全不适用。又如:中国专利《一种面向三维地理数据的传输和渲染方法及系统》(申请号202011014436.8;申请日2020.09.24)公开了基于摄影建模、激光点云等三维数据采集,对地理信息系统三维可视化的具体应用(包括数据的传输和渲染)。其公开了包括获取待渲染的三维地理数据的方案,具体的,采用多细节层次划分的方法将三维地理数据构建成一组由上至下各个节点的模型实体的显示层级不同的场景树,场景树中每一个节点均包括描述文件和数据文件,场景树中同时创建了场景中模型实体的多个显示层级,不同的显示层级显示的模型实体显示的面数和细节层次不同,组合成场景树的叶子节点,并公开了四叉树、八叉树、KD树、R树或网格划分的划分形式。虽然节省了预处理时间,但这种分层逻辑的方案是层级处理再渲染,即经过渲染模型不管在之前还是之后须要再一个划分处理,渲染效果暂且不论,处理停顿点还是会存在,加载速度还是会受影响。
发明内容
本发明目的是提供一种三维场景下单体模型的大数据渲染方法,解决背景技术中的问题,缩短处理时间,模型准确度高,模型更加精细,且精细化度进一步提高。
为了实现以上目的,本发明采用的技术方案为:一种三维场景下单体模型的大数据渲染方法,包括以下步骤:
步骤1)、渲染模型:首先对所有的三维模型数据进行采集,获取当前三维场景模块内的可视域数据集,按可视域数据集内的瓦片网格为单位进行渲染数据;
步骤2)、根据计算的当前视域内瓦片网格集合,循环所有瓦片网格,根据每个瓦片网格的x、y、z值通过多线程读取或采集后端接口异步获取该瓦片网格内的所有单体模型坐标及属性数据;
步骤3)、获取到每个瓦片网格的单体模型坐标数据后,判断三维场景模块内的可视域是否超出限定的层级和是否不在视域内,如果超出限定的层级或不在视域内,则直接从渲染模型存储模块中剔除,即结束模型渲染;否则再加入渲染模型存储模块中,并在三维场景中渲染单体模型;
步骤4)中,当可视域发生变化时,首先将原有的渲染模型存储模块中的单体模型全部标记目标数据,回到步骤1),重新计算当前可视域对应的新的瓦片网格集合;
步骤5)、循环视域变化后的瓦片网格集合,通过网格瓦片唯一标识符在渲染模型存储模块中采集到对应的单体模型,将待标记目标数据删除,并判断当前单体模型是否已经存在于可视域内并且已经显示出,如果单体模型已经存在,对现有的单体模型进行更新,如果单体模型不存在,则加入渲染模型存储模块中,并在三维场景中渲染单体模型;
步骤6)、循环瓦片网格集合,如果存在标记目标数据,则直接从渲染模型存储模块中剔除,结束模型渲染。
进一步的,步骤1)中,
首先,计算当前三维场景可视域数据集内四叉树瓦片网格集合,每个瓦片网格由x、y、z共3个参数组成,其中x、y、z根据下面公式计算得到:
其中:lon:经度,lat:纬度,z:瓦片层级,是一个介于0和18之间的整数,x:瓦片的行号,y:瓦片的列号;
其次,将计算得到的瓦片网格数据存放在渲染模型存储模块中。
再进一步的,所述的三维场景模块为三维场景相机。
再进一步的,标记目标数据为目标值上增加待移除数据。
本发明的技术效果在于:本发明渲染模型通过基于三维场景模块内的可视域数据集,一次筛选全部采集可视域数据,实现快速处理,将可视域数据集不断加载于循环瓦片网格集合,摒弃了现有的再划分的处理,不仅缩短处理时间,还使模型准确度高,模型更加精细;基于渲染后的单体模型再加载生成于具有可视域数据集的渲染模型,实时数据对应加载在可视域内瓦片网格,实现快速加载,不仅减少卡顿现象,而且基于这个三维场景下快速渲染模型,精细化度进一步提高。
附图说明
图1为本发明具体实施例的流程图;
图2为本发明具体实施例中的渲染模型图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照附图,一种三维场景下单体模型的大数据渲染方法,包括如下步骤:
步骤1)、渲染模型:首先对所有的三维模型数据进行采集,获取当前三维场景模块(实施例中为三维场景相机)内的(可)视域(数据集),按(可)视域(数据集)内的瓦片网格为单位进行渲染数据;
具体的),首先,计算当前三维场景(可)视域(数据集)内四叉树瓦片网格集合,每个瓦片网格由x、y、z共3个参数组成,其中x、y、z根据下面公式计算得到:
其中:lon:经度,lat:纬度,z:瓦片层级,是一个介于0和18之间的整数,x:瓦片的行号,y:瓦片的列号;
其次,将计算得到的(瓦片)网格数据存放在渲染模型存储模块(渲染队列缓存)中。
例:参照下述集合,得到图2的渲染模型:
步骤2)、根据计算的当前视域内瓦片网格集合,循环所有(瓦片)网格,根据每个(瓦片)网格的x、y、z值通过多线程读取或采集后端接口异步获取该(瓦片)网格内的所有单体模型坐标及属性数据;
步骤3)、获取到每个(瓦片)网格的单体模型坐标数据后,判断三维场景模块(实施例中为三维场景相机)内的(可)视域是否超出限定的层级和是否不在视域内,如果超出限定(的层级)或不在视域内,则直接从渲染模型存储模块(渲染队列)中剔除,即结束模型渲染;否则再加入渲染模型存储模块(渲染队列)中,并在三维场景中渲染单体模型;
步骤4)、当可视域发生变化时,首先将原有的渲染模型存储模块(渲染队列)中的单体模型全部标记为待移除(可以按照附加数据的方式),[回到步骤1)],重新计算当前(可)视域对应的新的(瓦片)网格集合;
步骤5)、循环视域变化后的(瓦片)网格集合,通过网格瓦片唯一标识符在渲染模型存储模块(渲染队列)中采集到对应的单体模型,将待移除标记删除,并判断当前单体模型是否已经存在于(可)视域内并且已经显示出,如果(单体)模型已经存在那么只需要对现有的(单体)模型进行更新,如果(单体)模型不存在,则加入渲染模型存储模块(渲染队列)中,并在三维场景中渲染单体模型;
步骤6)、循环(瓦片)网格集合,如果存在待移除标记,则直接从渲染队列中剔除,结束模型渲染。
本发明渲染模型通过基于三维场景模块内的可视域数据集,一次筛选全部采集可视域数据,实现快速处理,将可视域数据集不断加载于循环瓦片网格集合,摒弃了现有的再划分的处理,不仅缩短处理时间,还使模型准确度高,模型更加精细;基于渲染后的单体模型再加载生成于具有可视域数据集的渲染模型,实时数据对应加载在可视域内瓦片网格,实现快速加载,不仅减少卡顿现象,而且基于这个三维场景下快速渲染模型,精细化度进一步提高。
上述是本发明的最佳的具体实施例。
下述也是一个利用本发明方案的实施例。
一种三维场景下单体模型的大数据渲染方法,包括如下步骤:
步骤1)、开始渲染模型:首先对所有的三维模型数据进行采集(分析),获取当前三维场景相机内的可视域(数据集),并计算当前三维场景视域内瓦片网格集合,将计算得到的(瓦片)网格数据存放在渲染模型存储模块(渲染队列缓存)中;
步骤2)、当可视域(数据集)发生变化时,判断三维场景相机内的可视域是否超出限定的层级,如果超出限定的层级则直接从渲染模型存储模块(渲染队列)中剔除,即结束模型渲染;如果没有超出层级限定,则加载瓦片网格,获取(瓦片)网格中的所有数据,拿到(瓦片)网格的唯一标识符;对于超出可视域的(瓦片)网格(数据)则移除;
步骤3)、为了后续的从渲染模型存储模块(渲染队列)可以执行,将获取到的(瓦片)网格中数据存储在渲染模型存储模块(渲染队列缓存)中,供加载模型时使用;
步骤4)、判断是否卸载了(瓦片)网格,如果(瓦片)网格已经被卸载,则通过唯一标识符获取卸载的(瓦片)网格,并且根据渲染模型存储模块(渲染队列)在(瓦片)网格中的数据移除(瓦片)网格中的所有单体模型;如果没有卸载(瓦片)网格则将数据送入到(渲染)模型渲染队列等待加载;
步骤5),判断是否能够识别唯一的标识符,如果不能够识别则直接从渲染模型存储模块(渲染队列)中剔除结束模型渲染,如果能够识别,则将唯一标识符传给获取(渲染)模型;
步骤6)、通过传入的唯一标识符得到对应的单体模型,判断(当前)该单体模型是否已经存在于可视域(数据集)内并且已经显示出,如果(单体)模型已经存在,将现有的模型进行更新,如果模型不存在,根据得到的数据在相应的(瓦片)网格中创建新到的单体模型;
步骤7)、无论是新创建的单体还是重新更新过后的模型,完成模型加载后重新更新渲染模型存储模块(渲染队列缓存);结束渲染。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
Claims (4)
1.一种三维场景下单体模型的大数据渲染方法,其特征在于,包括以下步骤:
步骤1)、渲染模型:首先对所有的三维模型数据进行采集,获取当前三维场景模块内的可视域数据集,按可视域数据集内的瓦片网格为单位进行渲染数据;
步骤2)、根据计算的当前视域内瓦片网格集合,循环所有瓦片网格,根据每个瓦片网格的x、y、z值通过多线程读取或采集后端接口异步获取该瓦片网格内的所有单体模型坐标及属性数据;
步骤3)、获取到每个瓦片网格的单体模型坐标数据后,判断三维场景模块内的可视域是否超出限定的层级和是否不在视域内,如果超出限定的层级或不在视域内,则直接从渲染模型存储模块中剔除,即结束模型渲染;否则再加入渲染模型存储模块中,并在三维场景中渲染单体模型;
步骤4)中,当可视域发生变化时,首先将原有的渲染模型存储模块中的单体模型全部标记目标数据,回到步骤1),重新计算当前可视域对应的新的瓦片网格集合;
步骤5)、循环视域变化后的瓦片网格集合,通过网格瓦片唯一标识符在渲染模型存储模块中采集到对应的单体模型,将待标记目标数据删除,并判断当前单体模型是否已经存在于可视域内并且已经显示出,如果单体模型已经存在,对现有的单体模型进行更新,如果单体模型不存在,则加入渲染模型存储模块中,并在三维场景中渲染单体模型;
步骤6)、循环瓦片网格集合,如果存在标记目标数据,则直接从渲染模型存储模块中剔除,结束模型渲染。
3.根据权利要求4所述的一种三维场景下单体模型的大数据渲染方法及系统,其特征在于:所述的三维场景模块为三维场景相机。
4.根据权利要求4所述的一种三维场景下单体模型的大数据渲染方法及系统,其特征在于:标记目标数据为目标值上增加待移除数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440579.XA CN114332322A (zh) | 2021-11-30 | 2021-11-30 | 一种三维场景下单体模型的大数据渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111440579.XA CN114332322A (zh) | 2021-11-30 | 2021-11-30 | 一种三维场景下单体模型的大数据渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114332322A true CN114332322A (zh) | 2022-04-12 |
Family
ID=81048334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111440579.XA Pending CN114332322A (zh) | 2021-11-30 | 2021-11-30 | 一种三维场景下单体模型的大数据渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114332322A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115393524A (zh) * | 2022-09-02 | 2022-11-25 | 广东国地规划科技股份有限公司 | 一种基于三维游戏引擎的三维模型渲染方法及系统 |
-
2021
- 2021-11-30 CN CN202111440579.XA patent/CN114332322A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115393524A (zh) * | 2022-09-02 | 2022-11-25 | 广东国地规划科技股份有限公司 | 一种基于三维游戏引擎的三维模型渲染方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992469B (zh) | 海量三维模型数据的可视化方法及系统 | |
CN102663801B (zh) | 一种提高三维模型渲染性能的方法 | |
CN110033519B (zh) | 基于隐式函数的三维建模方法、装置、系统及存储介质 | |
CN112785710B (zh) | Osgb三维模型建筑物快速单体化方法、系统、存储器及设备 | |
CN102306180A (zh) | 一种基于海量激光雷达栅格点云数据的建模方法 | |
CN111784840B (zh) | 基于矢量数据自动分割lod层级三维数据单体化方法及系统 | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN108198194A (zh) | 基于侧向多平面切割的倾斜摄影单体对象提取方法 | |
CN113868476A (zh) | 一种基于局部密度的八叉树点云预处理方法 | |
CN105957149A (zh) | 一种适用于高效渲染的城市三维模型数据预处理方法 | |
CN110825830B (zh) | 一种网格空间的数据检索方法 | |
CN114332322A (zh) | 一种三维场景下单体模型的大数据渲染方法 | |
CN115438081A (zh) | 一种海量船舶位置点云多级聚合与实时更新方法 | |
CN114998544A (zh) | 一种顾及视觉主体的建筑实体模型轻量化方法 | |
CN115047825A (zh) | 一种数控加工铣削实时显示的方法 | |
CN114067060A (zh) | 用于三维建模的稠密点云快速生成方法 | |
Zhang et al. | A geometry and texture coupled flexible generalization of urban building models | |
CN105512194A (zh) | 一种游戏场景的管理方法和装置 | |
CN112102486A (zh) | 一种基于合并根节点的倾斜摄影数据lod重建方法 | |
CN112687007A (zh) | 一种基于lod技术的立体网格图生成方法 | |
CN106373192A (zh) | 一种非拓扑一致性三维网格块体追踪算法 | |
CN110738726A (zh) | 一种基于八叉树的机器人视觉引导三维物体重建方法 | |
CN116402936A (zh) | 一种基于八叉树的透明渲染复杂场景深度估计方法和装置 | |
CN106780693B (zh) | 一种通过绘制方式选择三维场景中物体的方法及系统 | |
CN114049387A (zh) | 一种基于3d点云的树木骨架提取方法 |
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 |