CN111127637A - 一种三维模型的数据处理方法、装置及电子设备 - Google Patents
一种三维模型的数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111127637A CN111127637A CN201911367603.4A CN201911367603A CN111127637A CN 111127637 A CN111127637 A CN 111127637A CN 201911367603 A CN201911367603 A CN 201911367603A CN 111127637 A CN111127637 A CN 111127637A
- Authority
- CN
- China
- Prior art keywords
- octree
- model
- thread
- node
- data
- 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
- 238000003672 processing method Methods 0.000 title abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000009877 rendering Methods 0.000 claims abstract description 33
- 230000011218 segmentation Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 45
- 239000012634 fragment Substances 0.000 claims description 30
- 230000000007 visual effect Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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
- G06T17/005—Tree description, e.g. octree, quadtree
-
- 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明适用于三维模型数据显示技术领域,提供了一种三维模型的数据处理方法、装置及电子设备。所述方法包括第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件;根据当前视点的视椎体,对待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将可见节点挂载至细节层次分页PageLOD;遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对PageLOD所挂载的可见节点进行LOD可见性判断,根据判断结果将数据请求信息存放至数据请求列表中;第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。本发明可减少需要处理的数据量,从而可保证数据渲染的高效性。
Description
技术领域
本发明属于三维模型数据显示技术领域,尤其涉及一种三维模型的数据处理方法、装置及电子设备。
背景技术
三维模型数据数据量较大,尤其城市级三维模型其数据量能达到100G比特,若直接通过一次性从硬盘中读取写入内存显然无法实现。并且三维模型数据的显示质量不仅取决于读入内存数据量的多数,还取决于是否满足一定的帧率下,对场景对象进行高效绘制,并能响应用户的输入,进行实时流畅交互。目前,主要通过细节层次模型技术(Levels ofDetail,LOD)管理和调度三维模型数据。
LOD技术是一种常用的大场景调度方法,根据距离、速度等因素对场景显示的细节层次进行划分,并进行层级渲染,有效地减少场景渲染时的数据量,提供渲染效率。三维模型数据结构是以格网为基础的,形成LOD模型结构主要有3种方式:离散LOD模型;连续LOD模;多分辨率LOD模型。
离散LOD模型是在场景中根据视点变化选取合适的模型加载,在层次间是离散的,因此在视点变化过程中会出现较为突兀的层级转换效果,并且由于数据预处理后增大了空间存储,也给数据读取的I/O操作带去压力。连续LOD模型是三维场景渲染过程中,根据当前条件计算简化的模型,使得同一片区域的细节层次间差别小且过渡平缓。但这种方法对于计算要求能力较高,难以保证实时渲染。多分辨率LOD模型采用分块的原理,针对大场景中大规模的数据无法完全存入内存,且即使存入内存也无法达到高效渲染的问题。
因此亟需一种高效的三维模型数据的调度方法保证高效渲染。
发明内容
本发明实施例提供一种三维模型的数据处理方法、装置及电子设备,旨在解决上述相关技术中存在的问题。
本发明实施例是这样实现的,第一方面本发明实施例提供了一种三维模型的数据处理方法,应用于多线程,所述方法包括:第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件;其中,所述模型文件是以八叉树结构形式缓存;
所述第一线程根据当前视点的视椎体,对所述待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将所述可见节点挂载至细节层次分页PageLOD;
第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断,根据所述判断结果将数据请求信息存放至数据请求列表中;所述数据请求信息用于请求不同层级的LOD模型对应的可见节点的相关数据;
第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。
更进一步地,在所述第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件之前,还包括:
所述第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件。
更进一步地,所述第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件包括:
所述第一线程在XYZ坐标轴内根据三维城市模型范围计算其内每栋建筑物的包围盒,并根据所述每栋建筑物的包围盒的范围生成场景包围盒;
所述第一线程对所述场景包围盒进行分割处理,获取以八叉树结构形式进行缓存的模型文件;
其中,所述分割处理包括:
所述第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行八叉树分割处理,分割成8个第n+1次分割后的场景包围盒;其中,n为自然数;
所述第一线程依次将8个第n+1次分割后的场景包围盒,确定为目标场景包围盒,并针对目标场景包围盒进行如下处理:
若目标场景包围盒中建筑物的包围盒顶点均在一个八叉树节点内,则所述第一线程将此八叉树节点确定为此建筑物模型所在的八叉树节点;若不在同一个八叉树节点内,则将此建筑物的包围盒的中心点所在的八叉树节点确定为此建筑物模型所在的八叉树节点;
所述第一线程判断八叉树节点中模型片元数是否大于第一预设阈值,及所述八叉树节点的深度是否达到八叉树最大深度,如果八叉树节点中模型片元数大于第一预设阈值和/或所述八叉树节点的深度达到八叉树最大深度,则所述第一线程将该八叉树节点确认为八叉树叶子节点;
如果八叉树节点中模型片元数不大于第一预设值且所述八叉树节点的深度未达到八叉树最大深度,则所述第一线程更新n的值,并针对所述目标场景包围盒继续执行所述分割处理。
更进一步地,所述遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断包括:
遍历细节层次分页PageLOD所挂载的可见节点,通过公式L=d/△L确定每个可见节点对应的LOD模型的层级,根据所述LOD模型的层级对所述PageLOD所挂载的可见节点进行LOD可见性判断;其中,L为LOD的层级,d为可见节点与视点间的距离,△L为层级间距。
更进一步地,在所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染之前,还包括:
所述第二线程将内存中缓存的超过预设期限未进入当前视点的视椎体视野范围内的可见节点的相关数据删除;
所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染包括:
所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据,并将所述数据存储至等待合并列表中,以便进行数据渲染时加载所述等待合并列表中的数据。
第二方面,本发明实施例还提供了一种三维模型的数据处理装置,应用于多线程,所装置包括:确定单元,用于第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件;其中,所述模型文件是以八叉树结构形式缓存;
处理单元,用于所述第一线程根据当前视点的视椎体,对所述待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将所述可见节点挂载至细节层次分页PageLOD;
所述处理单元,还用于所述第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断,根据所述判断结果将数据请求信息存放至数据请求列表中;所述数据请求信息用于请求不同层级的LOD模型对应的可见节点的相关数据;
加载单元,用于第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。
更进一步地,还包括:
获取单元,用于所述第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件。
更进一步地,所述获取单元,具体用于所述第一线程在XYZ坐标轴内根据三维城市模型范围计算其内每栋建筑物的包围盒,并根据所述每栋建筑物的包围盒的范围生成场景包围盒;
所述第一线程对所述场景包围盒进行分割处理,获取以八叉树结构形式进行缓存的模型文件;
其中,所述分割处理包括:
所述第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行八叉树分割处理,分割成8个第n+1次分割后的场景包围盒;其中,n为自然数;
所述第一线程依次将8个第n+1次分割后的场景包围盒,确定为目标场景包围盒,并针对目标场景包围盒进行如下处理:
若目标场景包围盒中建筑物的包围盒顶点均在一个八叉树节点内,则所述第一线程将此八叉树节点确定为此建筑物模型所在的八叉树节点;若不在同一个八叉树节点内,则将此建筑物的包围盒的中心点所在的八叉树节点确定为此建筑物模型所在的八叉树节点;
所述第一线程判断八叉树节点中模型片元数是否大于第一预设阈值,及所述八叉树节点的深度是否达到八叉树最大深度,如果八叉树节点中模型片元数大于第一预设阈值和/或所述八叉树节点的深度达到八叉树最大深度,则所述第一线程将该八叉树节点确认为八叉树叶子节点;
如果八叉树节点中模型片元数不大于第一预设值且所述八叉树节点的深度未达到八叉树最大深度,则所述第一线程更新n的值,并针对所述目标场景包围盒继续执行所述分割处理。
更进一步地,所述处理单元,具体用于第一线程遍历细节层次分页PageLOD所挂载的可见节点,通过公式L=d/△L确定每个可见节点对应的LOD模型的层级,根据所述LOD模型的层级对所述PageLOD所挂载的可见节点进行LOD可见性判断;其中,L为LOD的层级,d为可见节点与视点间的距离,△L为层级间距。
更进一步地,还包括:
删除单元,用于第二线程将内存中缓存的超过预设期限未进入当前视点的视椎体视野范围内的可见节点的相关数据删除;
所述加载单元,具体用于所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据,并将所述数据存储至等待合并列表中,以便进行数据渲染时加载所述等待合并列表中的数据。
第三方面,本发明实施例还提供了一种电子设备,包括存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述实施例所述的三维模型的数据处理方法中的步骤。
与相关技术相比较,本发明提供的三维模型的数据处理方法、装置及电子设备具有如下有益效果:通过当前视点的位置信息,确定出待显示场景模型及其对应的模型文件,模型文件以八叉树结构的形式缓存,通过八叉树结构,及当前视点的视椎体,对待显示场景模型内的所有节点进行可见性判断,并标记处进入当前视点的视椎体视野范围内的可见节点,将可见节点挂载至细节层次分页PageLOD;遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断,根据所述判断结果将数据请求信息存放至数据请求列表中,从而可以根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。这样一来,上述过程仅需对可见节点进行相应的数据加载,可以减少需要处理的数据量,并且在确定出可见节点后,需要对每个可见节点进一步进行LOD可见性判断,实现层级的显示,即为距离视点比较远的比较精细的节点尽量不显示,而距离视点比较近的节点则尽量显示,可以极大的减少需要处理的数据量并可以减少内存加载数据的数据量,进一步保证数据渲染的高效性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种三维模型的数据处理方法的流程示意图;
图2是本发明实施例提供的一种节点可见性判断的流程示意图;
图3是本发明实施例提供的一种节点可见性判断的裁剪面的示例图;
图4是本发明实施例提供的另一种三维模型的数据处理方法的流程示意图;
图5是本发明实施例提供的一种三维城市模型场景分割的流出示意图;
图6是本发明实施例提供一种八叉树分割的编码示意图;
图7是本发明实施例提供一种八叉树分割的编码示例图;
图8是本发明实施例提供的另一种三维模型的数据处理方法的流程示意图;
图9是本发明实施例提供的一种三维模型的数据处理装置的结构示意图;
图10是本发明实施例提供的另一种三维模型的数据处理装置的结构示意图;
图11是本发明实施例提供的另一种三维模型的数据处理装置的结构示意图;
图12是本发明实施例提供的又一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了对本发明实施例进行有效说明,以下参照附图对本申请实施例进行详细阐述。
本发明实施例提供了一种三维模型的数据处理方法,应用于多线程,如图1所示,包括:
步骤S101、第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件。
其中,模型文件是以八叉树结构形式缓存。
具体的,在本实施例中,视点即为用户通过web客户端在三维城市模型上漫游时的视点。系统中预先存储有不同视点下对应的场景模型,每个场景模型均对应有模型文件,每个模型文件是以八叉树结构的形式缓存。
需要说明的是,八叉树是一种描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起等于父节点的体积。在本发明实施例中模型文件的数据通过八叉树结构进行空间划分,并将树形结构的数据进行缓存,在渲染阶段通过读取以八叉树形式的数据,可以大大减少内存读取数据的压力。
步骤S102、第一线程根据当前视点的视椎体,对待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将可见节点挂载至细节层次分页PageLOD。
具体的,本发明实施例中视点的视椎体是指场景中相机的可见的一个椎体范围,它有上、下、左、右、近、远,共6个面组成。在视椎体内的景物可见,在视椎体外的景物不可见。在本步骤中即为将八叉树所划分的节点包围盒顶点位置进行视椎体的场景筛选,确定出在视椎体可见范围内的节点进行标记。
进一步的,第一线程根据当前视点的视椎体,需依次对待显示场景模型内的每个节点进行可见性判断,其中,对任意一个节点进行可见性判断时,如图2所示,可以采用如下方法确定:
步骤S1021、第一线程根据相机位置,相机与目标节点间的方向向量,近裁剪面与远裁剪面间的距离,依据相似三角形的原理,求出视锥体顶点集合。
其中,相机位置即为视点位置。在本申请中,将相机作为用户观看的视点。近裁剪面是指与相机视线垂直,与待显示场景模型最先相交的裁剪面。远裁剪面是指与相机视线垂直,与待显示场景模型最后相交的裁剪面,如图3所示。
步骤S1022、第一线程根据三点共面的原理,由如下平面方程计算视锥体六个外表面的平面方程。
Ax+By+Cz+D=0,其中,A、B、C及D表示平面空间特征的常数,x、y、z表示三维空间坐标。
步骤S1023、第一线程基于点在面内和面外的判断,即通过某点与平面上的点形成的向量与平面法向量做叉乘得到结果的正负值判断目标节点包围盒的顶点与视椎体6个平面的关系。
其中,平面法向量可以通过平面方程得到。
步骤S1024、若检测出目标节点包围盒的顶点中有一个在所有6个面内,则第一线程认为此目标节点处于视锥体范围内,则进行标记。
需要说明的是,在步骤S102中,当确定出当前节点在视椎体范围内后,需要进一步确定其子节点的可见性,以使得距离视点比较远的比较精细的节点尽量不显示,而距离视点比较近的节点则尽量显示,直至待显示场景内的所有节点均进行完可见性判断。
在确定出待显示场景模型中所有的可见节点后,将这些可见节点挂载至PageLOd中。
步骤S103、第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对PageLOD所挂载的可见节点进行LOD可见性判断,根据判断结果将数据请求信息存放至数据请求列表中。
其中,数据请求信息用于请求不同层级的LOD模型对应的可见节点的相关数据。
具体的,为了减少渲染时的数据量,由于待显示场景模型中,每个可见节点与视点间的距离不同,距离视点较近的节点用户观看的较为细致,需要将一些细节呈现给用户,而距离视点较远的节点用户观看的较为粗略,无需将细节均呈现给用户,因此第一线程需要对可见节点进行LOD可见性判断。不同层级LOD模型预先设置好了可见的距离,每一级的可见距离不同,其呈现的清晰程度亦不同。这样,可以读取不同层级的LOD模型,对PageLOD所挂载的可见节点进行LOD可见性判断,即为,第一线程确定每个可见节点在LOD模型的哪一层级,由于LOD模型中每一层级所需显示的清晰度不同,则在显示时需加载的数据也不同,因此第一线程可以根据每个可见节点的LOD可见性判断的判断结果,生成请求相应数据的数据请求消息,并将每个可见节点对应的数据请求信息存放至数据请求列表中。
也就是说,上述第一线程对PageLOD所挂载的可见节点进行LOD可见性判断,即为第一线程将与视点距离较近的细节内容判断为可见,即为将与视点距离较近的视频细节内容呈现给用户,而将与视点距离较远的细节内容判断为不可见,这样可以将与视点距离较远的视频细节内容不再呈现给用户,从而实现根据与视点距离由近至远逐次简化待显示视频数据的表面细节来减少三维场景的几何复杂性。
进一步的,第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对PageLOD所挂载的可见节点进行LOD可见性判断包括:
第一线程遍历细节层次分页PageLOD所挂载的可见节点,通过公式L=d/ΔL确定每个可见节点对应的LOD模型的层级,根据LOD模型的层级对PageLOD所挂载的可见节点进行LOD可见性判断。
其中,L为LOD的层级,d为视点距离,ΔL为层级间距。一般来说,ΔL根据场景包围盒边长与要划分的LOD层数相除得到,d则根据视点到模型包围盒中心点距离计算得到。
需要说明的是,在XYZ坐标轴内,第一线程先根据需求设定出三维城市模型的范围,然后根据三维城市模型在XYZ坐标轴内的范围,计算每一栋建筑物的包围盒,将计算出的每一栋建筑物的包围盒的范围合并为场景包围盒。其中,d为建筑物的模型包围盒的中心点距离与视点间的距离。每个建筑物内包含多个节点,在判断可见节点的LOD模型层级时,第一线程可以通过可见节点所在的建筑物的模型包围盒的中心点距离确定出相应的视点距离d。由于每个可见节点所在的建筑物的模型包围盒不完全相同,因此每个可见节点的LOD模型层级不完全相同。在确定出每个可见节点所在的LOD模型的层级后,由于每个层级的可见距离不同,因此显示的细节内容也不同,第一线程可以根据每个可见节点所在LOD模型的层级,确定出每个可见节点的LOD可见性。从而可以根据每个可见节点所在LOD模型的层级,生成相应的数据请求消息,并将其添加至数据请求列表中。
需要说明的是,通常模型lod为3-5层,lod简化率从0-100%,简化率逐级增大。如果模型精度较高,三角面比较多,lod层级可以设置较多一些,相反如果模型比较简单,三角面较少,lod层级可以设置少一些。通常较精细模型简化率推荐设置为5层。LOD层数是预先设定好的。
需要说明的是,在本申请中,通过步骤102实现先用视锥体判断360度视角范围内的待显示场景模型中的可见节点及不可见节点,然后通过步骤103利用可见节点与视点间距离判断不同层级的可见节点及不可见节点。
其中,LOD模型是指一个模型做了很多层级,最模糊的那个层级需基于原有模型进行轮廓模糊,纹理模糊,数据压缩等处理。
步骤S104、第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。
具体的,在进行数据加载时,第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存中,以便后续进行渲染。
这样一来,通过八叉树结构,以及当前视点的视椎体,对待显示场景模型内部的所有节点进行可见性判断确定出可见节点,在将可见节点挂载至PageLOD后,对PageLOD内的可见节点进一步进行LOD可见性判断,根据此判断结果将对应的数据请求信息添加至数据请求列表,以便根据数据请求列表加载数据至内存,并进行相应的渲染。上述过程仅需对可见节点进行相应的数据加载,可以减少需要处理的数据量,并且在确定出可见节点后,需要对每个可见节点进一步进行LOD可见性判断,实现层级的显示,即为距离视点比较远的比较精细的节点尽量不显示,而距离视点比较近的节点则尽量显示,可以极大的减少需要处理的数据量并可以减少内存加载数据的数据量,进一步保证数据渲染的高效性。
进一步的,如图4所示,在上述步骤S101之前,还包括:
步骤S201、第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件。
具体的,本发明实施例主要是对三维城市模型在终端进行三维显示,第一线程在根据视点进行显示之前,需要先对三维城市模型进行相应的场景分割处理,以便在显示时,可以快速的查找到所需的数据信息。在此步骤中,第一线程通过使用八叉树分割的方法进行场景分割,可以提高查找效率。
如图5所示,此步骤可以通过下述过程具体实现:
步骤S2011、第一线程在XYZ坐标轴内根据三维城市模型范围计算其内每栋建筑物的包围盒,并根据每栋建筑物的包围盒的范围生成场景包围盒。
具体的,在XYZ坐标轴内,第一线程先根据需求设定出三维城市模型的范围,然后根据三维城市模型在XYZ坐标轴内的范围,计算每一栋建筑物的包围盒,将计算出的每一栋建筑物的包围盒的范围合并为场景包围盒。
进一步的,第一线程可以通过osg的getBoundingbox方法计算每一栋建筑物的包围盒。
需要说的是,第一线程在执行步骤S2011之前,需要初始化八叉树的最大深度H,定义八叉树外存存储的根目录,并设置节点中三维数据最小组织形式三角面片数量的阈值,即为设置第一预设阈值。
步骤S2012、第一线程对场景包围盒进行分割处理,获取以八叉树结构形式进行缓存的模型文件。
具体的,在XYZ坐标轴内需先对场景包围盒进行分割,此时第一线程先进行八叉树分割,将树形结构的数据缓存至磁盘,此数据即为模型文件。
其中,分割处理包括:第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行八叉树分割处理,分割成8个第n+1次分割后的场景包围盒。其中,n为自然数。
进一步的,第一线程对场景包围盒进行八叉树分割时,需对分割后的场景进行编码时,可以采用下述方法:首先确定场景中三维坐标系的X、Y、Z轴以及原点O的位置。在第一级分割确定各子分区编码时,从原点O开始沿X轴方向每格子增加1,沿Y轴方向每格子增加2,沿Z轴方向每格子增加4,如图6所示。假设根节点的编码为8,规定子节点的编码在其父节点编码之后,如80、81,用n位8进制数表示,n表示八叉树分割的次数。即80表示一次分割,800表示二次分割,如图7所示。假设八叉树某一节点在第i次划分后的编码为Pi,则有它任意位置的编码为:P=8P1P2…Pi…Pn(1≤i≤n)。即为,通过公式P=8P1P2…Pi…Pn(1≤i≤n)计算每个八叉树节点的线性编码并以此编码命名创建的模型文件。
第一线程依次将8个第n+1次分割后的场景包围盒,确定为目标场景包围盒,针对目标场景包围盒进行如下处理:
若目标场景包围盒中建筑物的包围盒顶点均在一个八叉树节点内,则将此八叉树节点确定为此建筑物模型所在的八叉树节点。若不在同一个八叉树节点内,则将此建筑物的包围盒的中心点所在的八叉树节点确定为此建筑物模型所在的八叉树节点。
第一线程判断八叉树节点中模型片元数是否大于第一预设阈值,及八叉树节点的深度是否达到八叉树最大深度H,如果八叉树节点中模型片元数大于第一预设阈值和/或八叉树节点的深度达到八叉树最大深度H,则第一线程将该八叉树节点确认为八叉树叶子节点。
如果八叉树节点中模型片元数不大于第一预设值且八叉树节点的深度未达到八叉树最大深度H,则第一线程更新n的值,并针对所述目标场景包围盒重新执行分割处理。
需要说的是,三维模型是由很多个顶点构成的,顶点和顶点之间形成各种片元,即为模型片元,在模型片元上面可以贴纹理、材质。在建立三维模型时,其内的模型片元就以确定了,三维模型是由模型片元形成的,因此,每个建筑模型中包含的模型片元可以计算出,而八叉树节点中包含至少一个建筑模型,因此可以通过计算模型片元的函数计算出八叉树节点内包含的模型片元数。
也就是说,第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行第n+1次八叉树分割,第一线程将第n次分割后的场景包围盒分割为8个第n+1次八叉树分割后的场景包围盒。需要对每个第n+1次八叉树分割后的场景包围盒内的建筑物模型确定对应的八叉树节点,因此第一线程可以依次将8个第n+1次八叉树分割后的场景包围盒确定为目标场景包围盒。针对每个目标场景包围盒,进行如下操作:
由于八叉树节点中最小的数据单元为单栋建筑物模型,此时需要对目标场景包围盒内的每一栋建筑物包围盒的8个顶点确定是否在同一个八叉树节点下,若均在同一个八叉树节点内,则第一线程将建筑物模型加入此节点,即为将八叉树节点确定为此建筑物模型所在的八叉树节点。如果建筑物包围盒的8个顶点不全在同一个八叉树节点内,即存在与多个节点相交的情况,则第一线程将建筑物模型加入其中心点所在的节点,即为将建筑物模型中心点所在的节点确定为此建筑物模型所在的八叉树节点。
在确定出目标场景包围盒内的每一栋建筑物包围盒对应的八叉树节点后,需要进一步确定是否需要继续进行八叉树分割,此时,需判断八叉树节点里的建筑物模型的片元数是否大于第一预设阈值及八叉树节点的深度是否达到八叉树最大深度H。如果八叉树节点中模型片元数大于第一预设阈值和/或八叉树节点的深度达到八叉树最大深度H,则第一线程将该八叉树节点确认为八叉树叶子节点。如果八叉树节点中模型片元数不大于第一预设值且八叉树节点的深度未达到八叉树最大深度H,则第一线程需对目标场景包围盒继续进行八叉树分割,此时,将n的值加1,即为将n的值更新为n+1,针对此目标场景包围盒重新执行分割处理步骤,直至所有的八叉树节点内的建筑物模型的片元数均大于第一预设阈值和/或八叉树节点的深度达到八叉树最大深度H,即为八叉树节点均生成了叶子节点,八叉树分割完成。
需要说明的是,当n为0时,第0次分割后的场景包围盒即为未经分割的场景包围盒,也就是步骤S2011生成的场景包围盒。
这样通过上述步骤,可以先将三维城市模型的场景模型进行八叉树分割,可以提高分割精度,在进行调度的时可以直接根据八叉树结构查找到所需的数据,可以提高渲染的效率。
进一步的,在上述步骤S104之前,如图8所示,还包括:
步骤S105、第二线程将内存中缓存的超过预设期限未进入视点的视椎体视野范围内的LOD模型的相关数据删除。
具体的,由于随之视点的变化,内存中已经加载的数据有的已经不再当前视点的视椎体视野范围内,因此第二线程可以将其删除。为了避免删除高频使用的数据,第二线程可以将超过预设期限未进入视点的视椎体视野范围内的LOD模型的相关数据删除。此预设期限可以根据用户需求设置,在此不做限制。
进一步的,第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染包括:
第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据,并将数据存储至等待合并列表中,以便进行数据渲染时加载所述等待合并列表中的数据。
具体的,第二线程在进行数据渲染时是在等待合并列表中获取数据的,因此,在根据数据请求列表中的数据请求信息加载相应的可见节点的相关数据时,将加载的数据存放至等待合并列表中,在更新场景操作时,合并等待合并列表中的数据到渲染的父节点中,进行数据的渲染显示。
在上述步骤S105中,第一线程可以确定出内存中缓存的超过预设期限未进入视点的视椎体视野范围内的LOD模型的相关数据后,将其放至弃用列表中,第二线程可以定期删除弃用列表中存放的数据。
在本发明中,为了加速数据处理,在上述数据处理过程中,可以采用分页多线程机制,实现多个线程的同时执行。第一线程与第二线程相互配合执行上述步骤,可以检索内存占用,即使清除无效内存占用,使得内存占用率保持稳定。
本发明实施例提供了一种三维模型的数据处理装置,如图9所示,应用于多线程,所述装置包括:
确定单元301,用于第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件。
其中,所述模型文件是以八叉树结构形式缓存。
处理单元302,用于第一线程根据当前视点的视椎体,对待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将可见节点挂载至细节层次分页PageLOD。
处理单元302,还用于第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对PageLOD所挂载的可见节点进行LOD可见性判断,根据判断结果将数据请求信息存放至数据请求列表中。
其中,数据请求信息用于请求不同层级的LOD模型对应的可见节点的相关数据。
具体的,处理单元302,具体用于第一线程遍历细节层次分页PageLOD所挂载的可见节点,通过公式L=d/ΔL确定每个可见节点对应的LOD模型的层级,根据所述LOD模型的层级对所述PageLOD所挂载的可见节点进行LOD可见性判断。
其中,L为LOD的层级,d为可见节点与视点间的距离,△L为层级间距。
加载单元303,用于第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。
进一步的,如图10所示,上述装置还包括:还包括:
获取单元304,用于第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件。
具体的,获取单元304,具体用于第一线程在XYZ坐标轴内根据三维城市模型范围计算其内每栋建筑物的包围盒,并根据每栋建筑物的包围盒的范围生成场景包围盒;第一线程对场景包围盒进行分割处理,获取以八叉树结构形式进行缓存的模型文件。
其中,分割处理包括:第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行八叉树分割处理,分割成8个第n+1次分割后的场景包围盒。其中,n为自然数。
第一线程依次将8个第n+1次分割后的场景包围盒,确定为目标场景包围盒,并针对目标场景包围盒进行如下处理:
若目标场景包围盒中建筑物的包围盒顶点均在一个八叉树节点内,则第一线程将此八叉树节点确定为此建筑物模型所在的八叉树节点;若不在同一个八叉树节点内,则将此建筑物的包围盒的中心点所在的八叉树节点确定为此建筑物模型所在的八叉树节点;
第一线程判断八叉树节点中模型片元数是否大于第一预设阈值,及八叉树节点的深度是否达到八叉树最大深度,如果八叉树节点中模型片元数大于第一预设阈值和/或所述八叉树节点的深度达到八叉树最大深度,则第一线程将该八叉树节点确认为八叉树叶子节点;
如果八叉树节点中模型片元数不大于第一预设值且所述八叉树节点的深度未达到八叉树最大深度,则第一线程更新n的值,并针对目标场景包围盒继续执行所述分割处理。
进一步的,如图11所示,上述装置还包括:
删除单元305,用于第二线程将内存中缓存的超过预设期限未进入当前视点的视椎体视野范围内的可见节点的相关数据删除。
加载单元303,具体用于第二线程根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据,并将数据存储至等待合并列表中,以便进行数据渲染时加载等待合并列表中的数据。
本发明实施例提供了一种三维模型的数据处理装置,通过当前视点的位置信息,确定出待显示场景模型及其对应的模型文件,模型文件以八叉树结构的形式缓存,通过八叉树结构,及当前视点的视椎体,对待显示场景模型内的所有节点进行可见性判断,并标记处进入当前视点的视椎体视野范围内的可见节点,将可见节点挂载至细节层次分页PageLOD;遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断,根据所述判断结果将数据请求信息存放至数据请求列表中,从而可以根据数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。这样一来,上述过程仅需对可见节点进行相应的数据加载,可以减少需要处理的数据量,并且在确定出可见节点后,需要对每个可见节点进一步进行LOD可见性判断,实现层级的显示,即为距离视点比较远的比较精细的节点尽量不显示,而距离视点比较近的节点则尽量显示,可以极大的减少需要处理的数据量并可以减少内存加载数据的数据量,进一步保证数据渲染的高效性。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述虚拟机器人的互动方法的步骤。
本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述三维模型的数据处理方法的步骤。
图12是本公开实施例提供的上述电子设备的一种框图。如图12所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述三维模型的数据处理方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述虚拟机器人的互动方法。
其中,本公开实施例提供的上述计算机可读存储介质即可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述三维模型的数据处理方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种三维模型的数据处理方法,其特征在于,应用于多线程,所述方法包括:
第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件;其中,所述模型文件是以八叉树结构形式缓存;
所述第一线程根据当前视点的视椎体,对所述待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将所述可见节点挂载至细节层次分页PageLOD;
第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断,根据所述判断结果将数据请求信息存放至数据请求列表中;所述数据请求信息用于请求不同层级的LOD模型对应的可见节点的相关数据;
第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。
2.如权利要求1所述的方法,其特征在于,在所述第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件之前,还包括:
所述第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件。
3.根据权利要求2所述的方法,其特征在于,所述第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件包括:
所述第一线程在XYZ坐标轴内根据三维城市模型范围计算其内每栋建筑物的包围盒,并根据所述每栋建筑物的包围盒的范围生成场景包围盒;
所述第一线程对所述场景包围盒进行分割处理,获取以八叉树结构形式进行缓存的模型文件;
其中,所述分割处理包括:
所述第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行八叉树分割处理,分割成8个第n+1次分割后的场景包围盒;其中,n为自然数;
所述第一线程依次将8个第n+1次分割后的场景包围盒,确定为目标场景包围盒,并针对目标场景包围盒进行如下处理:
若目标场景包围盒中建筑物的包围盒顶点均在一个八叉树节点内,则所述第一线程将此八叉树节点确定为此建筑物模型所在的八叉树节点;若不在同一个八叉树节点内,则将此建筑物的包围盒的中心点所在的八叉树节点确定为此建筑物模型所在的八叉树节点;
所述第一线程判断八叉树节点中模型片元数是否大于第一预设阈值,及所述八叉树节点的深度是否达到八叉树最大深度,如果八叉树节点中模型片元数大于第一预设阈值和/或所述八叉树节点的深度达到八叉树最大深度,则所述第一线程将该八叉树节点确认为八叉树叶子节点;
如果八叉树节点中模型片元数不大于第一预设值且所述八叉树节点的深度未达到八叉树最大深度,则所述第一线程更新n的值,并针对所述目标场景包围盒继续执行所述分割处理。
4.根据权利要求1所述的方法,其特征在于,所述遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断包括:
遍历细节层次分页PageLOD所挂载的可见节点,通过公式L=d/△L确定每个可见节点对应的LOD模型的层级,根据所述LOD模型的层级对所述PageLOD所挂载的可见节点进行LOD可见性判断;其中,L为LOD的层级,d为可见节点与视点间的距离,△L为层级间距。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染之前,还包括:
所述第二线程将内存中缓存的超过预设期限未进入当前视点的视椎体视野范围内的可见节点的相关数据删除;
所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染包括:
所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据,并将所述数据存储至等待合并列表中,以便进行数据渲染时加载所述等待合并列表中的数据。
6.一种三维模型的数据处理装置,其特征在于,应用于多线程,所述装置包括:
确定单元,用于第一线程根据当前视点的位置信息,确定待显示场景模型及其对应的模型文件;其中,所述模型文件是以八叉树结构形式缓存;
处理单元,用于所述第一线程根据当前视点的视椎体,对所述待显示场景模型内的所有节点进行可见性判断,并标记出进入当前视点的视椎体视野范围内的可见节点,将所述可见节点挂载至细节层次分页PageLOD;
所述处理单元,还用于所述第一线程遍历细节层次分页PageLOD所挂载的可见节点,读取不同层级的LOD模型,对所述PageLOD所挂载的可见节点进行LOD可见性判断,根据所述判断结果将数据请求信息存放至数据请求列表中;所述数据请求信息用于请求不同层级的LOD模型对应的可见节点的相关数据;
加载单元,用于第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据至内存等待渲染。
7.根据权利要求6所述的装置,其特征在于,还包括:
获取单元,用于所述第一线程基于八叉树结构,对三维城市模型进行场景分割,获取以八叉树结构形式进行缓存的模型文件。
8.根据权利要求7所述的装置,其特征在于,
所述获取单元,具体用于所述第一线程在XYZ坐标轴内根据三维城市模型范围计算其内每栋建筑物的包围盒,并根据所述每栋建筑物的包围盒的范围生成场景包围盒;
所述第一线程对所述场景包围盒进行分割处理,获取以八叉树结构形式进行缓存的模型文件;
其中,所述分割处理包括:
所述第一线程对第n次分割后的场景包围盒在XYZ坐标轴内进行八叉树分割处理,分割成8个第n+1次分割后的场景包围盒;其中,n为自然数;
所述第一线程依次将8个第n+1次分割后的场景包围盒,确定为目标场景包围盒,并针对目标场景包围盒进行如下处理:
若目标场景包围盒中建筑物的包围盒顶点均在一个八叉树节点内,则所述第一线程将此八叉树节点确定为此建筑物模型所在的八叉树节点;若不在同一个八叉树节点内,则将此建筑物的包围盒的中心点所在的八叉树节点确定为此建筑物模型所在的八叉树节点;
所述第一线程判断八叉树节点中模型片元数是否大于第一预设阈值,及所述八叉树节点的深度是否达到八叉树最大深度,如果八叉树节点中模型片元数大于第一预设阈值和/或所述八叉树节点的深度达到八叉树最大深度,则所述第一线程将该八叉树节点确认为八叉树叶子节点;
如果八叉树节点中模型片元数不大于第一预设值且所述八叉树节点的深度未达到八叉树最大深度,则所述第一线程更新n的值,并针对所述目标场景包围盒继续执行所述分割处理。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
删除单元,用于第二线程将内存中缓存的超过预设期限未进入当前视点的视椎体视野范围内的可见节点的相关数据删除;
所述加载单元,具体用于所述第二线程根据所述数据请求列表中的数据请求信息加载对应的可见节点的相关数据,并将所述数据存储至等待合并列表中,以便进行数据渲染时加载所述等待合并列表中的数据。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911367603.4A CN111127637A (zh) | 2019-12-26 | 2019-12-26 | 一种三维模型的数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911367603.4A CN111127637A (zh) | 2019-12-26 | 2019-12-26 | 一种三维模型的数据处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111127637A true CN111127637A (zh) | 2020-05-08 |
Family
ID=70503126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911367603.4A Pending CN111127637A (zh) | 2019-12-26 | 2019-12-26 | 一种三维模型的数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111127637A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968209A (zh) * | 2020-08-17 | 2020-11-20 | 北京像素软件科技股份有限公司 | 一种模型的渲染方法、装置、设备及存储介质 |
CN113656514A (zh) * | 2021-08-12 | 2021-11-16 | 煤炭科学研究总院 | 矿山三维模型可视化方法和装置 |
CN113890675A (zh) * | 2021-09-18 | 2022-01-04 | 聚好看科技股份有限公司 | 一种三维模型的自适应显示方法及设备 |
CN114297746A (zh) * | 2021-12-06 | 2022-04-08 | 万翼科技有限公司 | 建筑信息模型的渲染方法、装置、电子设备和存储介质 |
CN115168470A (zh) * | 2022-07-18 | 2022-10-11 | 中国电信股份有限公司 | 空间数据处理方法、系统、存储介质及电子设备 |
CN116245710A (zh) * | 2023-05-11 | 2023-06-09 | 中国铁路设计集团有限公司 | 基于虚幻引擎和线程池的海量倾斜摄影模型动态调度方法 |
WO2023138469A1 (zh) * | 2022-01-21 | 2023-07-27 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备及存储介质 |
CN116570925A (zh) * | 2023-05-19 | 2023-08-11 | 韶关学院 | 一种基于ar开发的资源管理方法 |
CN116778129A (zh) * | 2023-08-18 | 2023-09-19 | 煤炭科学研究总院有限公司 | 煤矿三维巷道页面的标注方法及装置 |
CN116824082A (zh) * | 2023-08-30 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 |
CN119273842A (zh) * | 2024-09-26 | 2025-01-07 | 北京洛斯达科技发展有限公司 | 输变电工程gim模型的可视化方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104867174A (zh) * | 2015-05-08 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种三维地图渲染显示方法及系统 |
CN107368612A (zh) * | 2017-08-24 | 2017-11-21 | 中煤航测遥感集团有限公司 | 四叉树索引构建方法及装置 |
CN110070613A (zh) * | 2019-04-26 | 2019-07-30 | 东北大学 | 基于模型压缩和异步加载的大型三维场景网页展示方法 |
-
2019
- 2019-12-26 CN CN201911367603.4A patent/CN111127637A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104867174A (zh) * | 2015-05-08 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种三维地图渲染显示方法及系统 |
CN107368612A (zh) * | 2017-08-24 | 2017-11-21 | 中煤航测遥感集团有限公司 | 四叉树索引构建方法及装置 |
CN110070613A (zh) * | 2019-04-26 | 2019-07-30 | 东北大学 | 基于模型压缩和异步加载的大型三维场景网页展示方法 |
Non-Patent Citations (1)
Title |
---|
李雷: "基于OGRE的海量三维模型动态调度技术的研究与实现" * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968209A (zh) * | 2020-08-17 | 2020-11-20 | 北京像素软件科技股份有限公司 | 一种模型的渲染方法、装置、设备及存储介质 |
CN113656514A (zh) * | 2021-08-12 | 2021-11-16 | 煤炭科学研究总院 | 矿山三维模型可视化方法和装置 |
CN113890675A (zh) * | 2021-09-18 | 2022-01-04 | 聚好看科技股份有限公司 | 一种三维模型的自适应显示方法及设备 |
CN114297746A (zh) * | 2021-12-06 | 2022-04-08 | 万翼科技有限公司 | 建筑信息模型的渲染方法、装置、电子设备和存储介质 |
WO2023138469A1 (zh) * | 2022-01-21 | 2023-07-27 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备及存储介质 |
CN115168470A (zh) * | 2022-07-18 | 2022-10-11 | 中国电信股份有限公司 | 空间数据处理方法、系统、存储介质及电子设备 |
CN116245710B (zh) * | 2023-05-11 | 2023-07-18 | 中国铁路设计集团有限公司 | 基于虚幻引擎和线程池的海量倾斜摄影模型动态调度方法 |
CN116245710A (zh) * | 2023-05-11 | 2023-06-09 | 中国铁路设计集团有限公司 | 基于虚幻引擎和线程池的海量倾斜摄影模型动态调度方法 |
CN116570925A (zh) * | 2023-05-19 | 2023-08-11 | 韶关学院 | 一种基于ar开发的资源管理方法 |
CN116778129A (zh) * | 2023-08-18 | 2023-09-19 | 煤炭科学研究总院有限公司 | 煤矿三维巷道页面的标注方法及装置 |
CN116778129B (zh) * | 2023-08-18 | 2023-11-21 | 煤炭科学研究总院有限公司 | 煤矿三维巷道页面的标注方法及装置 |
CN116824082A (zh) * | 2023-08-30 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 |
CN116824082B (zh) * | 2023-08-30 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 |
CN119273842A (zh) * | 2024-09-26 | 2025-01-07 | 北京洛斯达科技发展有限公司 | 输变电工程gim模型的可视化方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111127637A (zh) | 一种三维模型的数据处理方法、装置及电子设备 | |
CN111127615A (zh) | 一种三维模型的数据调度方法、装置及电子设备 | |
US11270497B2 (en) | Object loading method and apparatus, storage medium, and electronic device | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
US7002571B2 (en) | Grid-based loose octree for spatial partitioning | |
US10535176B2 (en) | Animation techniques for mobile devices | |
CN112347546A (zh) | 基于轻量级设备的bim渲染方法、设备和计算机可读存储介质 | |
CN113034657B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN112843700B (zh) | 地形图像的生成方法、装置、计算机设备和存储介质 | |
KR100959349B1 (ko) | 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법 | |
CN112927339B (zh) | 图形渲染方法和装置、存储介质及电子设备 | |
CN111932668A (zh) | 一种城市景观模型三维可视化方法、系统、介质和电子设备 | |
CN114565706A (zh) | 基于视锥的点云处理方法、装置、电子设备及存储介质 | |
CN112070909A (zh) | 一种基于3D Tiles的工程三维模型LOD输出方法 | |
CN115222879B (zh) | 一种模型减面处理方法、装置、电子设备及存储介质 | |
US10083264B1 (en) | Systems and methods for implicit surface modeling | |
Liu et al. | Real-time, dynamic level-of-detail management for three-axis NC milling simulation | |
JP7161154B2 (ja) | 階層バウンディングボリューム生成方法、コンピュータプログラム及びコンピュータ装置 | |
CN115631286A (zh) | 图像渲染方法、装置、设备和存储介质 | |
US11488347B2 (en) | Method for instant rendering of voxels | |
US8275805B2 (en) | Method of decreasing a total computation time for a visual simulation loop in a virtual world application | |
CN110738719A (zh) | 一种基于视距分层优化的Web3D模型渲染方法 | |
Lee et al. | Bimodal vertex splitting: Acceleration of quadtree triangulation for terrain rendering | |
US20040181373A1 (en) | Visual simulation of dynamic moving bodies | |
CN120032065B (zh) | 大规模三角网格连续细节分层表征方法与动态重构方法 |
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 |