CN110458931B - 一种基于lod等级的三维模型数据处理方法及相关设备 - Google Patents
一种基于lod等级的三维模型数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN110458931B CN110458931B CN201910760053.6A CN201910760053A CN110458931B CN 110458931 B CN110458931 B CN 110458931B CN 201910760053 A CN201910760053 A CN 201910760053A CN 110458931 B CN110458931 B CN 110458931B
- Authority
- CN
- China
- Prior art keywords
- data
- dimensional model
- target
- primitive
- index
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种基于LOD等级的三维模型数据处理方法及相关设备,用于优化终端对三维模型的渲染过程。本申请实施例方法包括:获取初始三维模型数据,所述初始三维模型数据包括原始数据;使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
Description
技术领域
本申请涉及图形渲染领域,尤其涉及一种基于LOD等级的三维模型数据处理方法及相关设备。
背景技术
在图形渲染领域中,三维模型是由若干个顶点组成,渲染一个三维模型指的是根据该三维模型对应的三维模型数据来进行图形渲染,其中在三维模型数据中包含有各个顶点的顶点数据和索引流数据,为了描述方便,可以将连续的几个顶点视为一个图元组织,索引流数据中的每一个数据对应于顶点数据中某个顶点(或者某个图元组织)在该顶点数据里的索引(即位置信息),进行渲染。
在现有技术中,渲染复杂三维模型时,基于效率的考虑,如果这个三维模型离的比较远的时候,可以不渲染那么多的图元数据,通过这种方式降低图形渲染硬件的压力,从而来提高图形渲染的流畅度,提升用户的使用体验,这种方式被称为多细节层次LOD(detailof level)技术。通常控制LOD层次等级的因素是观察距离,比如在游戏中渲染是根据三维模型到摄像机的距离来实现的,当距离近的时候使用较精细的模型,当距离远的时候使用一个较精简的模型,从而对于不同LOD的等级设置各自对应的三维模型数据来实现对画面渲染流畅度的提升。
然而,对于这种图形渲染方式来说,一个三维模型的渲染过程需要具备不同LOD等级对应的多份三维模型数据,也就是说,终端程序的运行过程中需要将多份三维模型数据都放在内存中,导致占用的终端内存会很大,如果选择性的释放掉一些模型,比如只保留当前LOD等级对应的三维模型数据的话,在画面调整的过程中又会增大终端IO的开销,造成终端的卡顿,影响用户体验。
发明内容
本申请实施例提供了一种基于LOD等级的三维模型数据处理方法及相关设备,用于优化终端对三维模型的渲染过程。
本申请实施例第一方面提供了一种基于LOD等级的三维模型数据处理方法,其特征在于,包括:
获取初始三维模型数据,所述初始三维模型数据包括原始数据;
使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;
根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;
生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
可选地,在所述生成目标三维模型数据之后,所述方法还包括:
获取图形渲染指令;
根据所述图形渲染指令确定出目标LOD等级;
获取所述目标三维模型数据;
根据所述关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据;
使用所述目标索引数据和所述原始数据进行图形渲染。
可选地,所述获取初始三维模型数据包括:
获取第一三维模型数据,所述第一三维模型数据包括顶点数据;
将所述顶点数据确定为所述原始数据。
可选地,所述获取初始三维模型数据包括:
获取第二三维模型数据,所述第二三维模型数据包括顶点数据;
根据所述顶点数据生成图元组织;
将所述图元组织确定为所述原始数据。
可选地,所述使用所述目标索引数据和所述顶点数据进行图形渲染包括:
使用所述目标索引数据确定出对应的目标数据列表;
根据所述目标数据列表确定出目标图元组织;
在所述原始数据中对所述目标图元组织进行渲染。
可选地,所述关联关系包括至少两个标识码,所述至少两个标识码用于一一标识所述至少两个图元列表的LOD等级。
本申请实施例第二方面提供了一种终端设备,包括:
第一获取单元,用于获取初始三维模型数据,所述初始三维模型数据包括原始数据;
建立单元,用于使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;
第一生成单元,用于根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;
第二生成单元,用于生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
可选地,所述终端设备还包括:
第二获取单元,用于获取图形渲染指令;
第一确定单元,用于根据所述图形渲染指令确定出目标LOD等级;
第三获取单元,用于获取所述目标三维模型数据;
第二确定单元,用于根据所述关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据;
渲染单元,用于使用所述目标索引数据和所述原始数据进行图形渲染。
可选地,所述第一获取单元具体用于:
获取第一三维模型数据,所述第一三维模型数据包括顶点数据;
将所述顶点数据确定为所述原始数据。
可选地,所述第一获取单元具体用于:
获取第二三维模型数据,所述第二三维模型数据包括顶点数据;
根据所述顶点数据生成图元组织;
将所述图元组织确定为所述原始数据。
可选地,所述渲染单元具体用于:
使用所述目标索引数据确定出对应的目标数据列表;
根据所述目标数据列表确定出目标图元组织;
在所述原始数据中对所述目标图元组织进行渲染。
可选地,所述关联关系包括至少两个标识码,所述至少两个标识码用于一一标识所述至少两个图元列表的LOD等级。
本申请实施例第三方面提供了一种终端设备,包括:
处理器、存储器、总线以及输入输出接口,该处理器、该存储器与该输入输出接口通过该总线连接;
该存储器,用于存储程序代码;
该处理器调用该存储器中的程序代码时执行如第一方面中任一项实施例所述方法的步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,需要说明的是,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述设备所用的计算机软件指令,其包含用于执行上述为第一方面中任一项实施例所设计的程序。
该存储介质包括:U盘、移动硬盘、只读存储器(英文缩写ROM,英文全称:Read-OnlyMemory)、随机存取存储器(英文缩写:RAM,英文全称:Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面中任意一项的基于LOD等级的三维模型数据处理方法中的流程。
从以上技术方案可以看出,本申请实施例具有以下优点:本实施例中,获取初始三维模型数据,所述初始三维模型数据包括原始数据;使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。其中,与至少两个LOD等级一一对应的至少两个索引数据使用的是同一份原始数据,因此,与现有技术中三维模型数据需要具备不同LOD等级对应的多份三维模型数据(即多份原始数据)相比,该目标三维模型数据包括所述原始数据和所述至少两个索引数据可以节省终端的运行空间,进而提升终端运行的流畅度,优化终端对三维模型的渲染过程。
附图说明
图1为本申请提供的一种基于LOD等级的三维模型数据处理方法实施例的一个示意图;
图2为本申请提供的一种基于LOD等级的三维模型数据处理方法实施例的另一个示意图;
图3为本申请提供的一种基于LOD等级的三维模型数据处理方法实施例的另一个示意图;
图4为本申请提供的一种终端设备实施例的一个示意图;
图5为本申请提供的一种终端设备实施例的另一个示意图。
具体实施方式
本申请实施例提供了一种基于LOD等级的三维模型数据处理方法及相关设备,用于优化终端对三维模型的渲染过程。
在现有技术中,渲染复杂三维模型时,基于效率的考虑,如果这个三维模型离的比较远的时候,可以不渲染那么多的图元数据,通过这种方式降低图形渲染硬件的压力,从而来提高图形渲染的流畅度,提升用户的使用体验,这种方式被称为多细节层次LOD(detailof level)技术。通常控制LOD层次等级的因素是观察距离,比如在游戏中渲染是根据三维模型到摄像机的距离来实现的,当距离近的时候使用较精细的模型,当距离远的时候使用一个较精简的模型,从而对于不同LOD的等级设置各自对应的三维模型数据来实现对画面渲染流畅度的提升。然而,对于这种图形渲染方式来说,一个三维模型的渲染过程需要具备不同LOD等级对应的多份三维模型数据,也就是说,终端程序的运行过程中需要将多份三维模型数据都放在内存中,导致占用的终端内存会很大,如果选择性的释放掉一些模型,比如只保留当前LOD等级对应的三维模型数据的话,在画面调整的过程中又会增大终端IO的开销,造成终端的卡顿,影响用户体验。为此,本申请实施例中提供了一种基于LOD等级的三维模型数据处理方法及相关设备,用于优化终端对三维模型的渲染过程。
为了便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图1,本申请实施例中一种基于LOD等级的三维模型数据处理方法的一个实施例包括:
101、获取初始三维模型数据;
本实施例中,终端设备获取初始三维模型数据,所述初始三维模型数据包括原始数据。
具体地,可以由一个终端设备A来执行步骤101至步骤104的实现过程,其中,该终端设备A可以笔记本电脑、台式机电脑、手机、平板或者是其他常用的终端设备来执行本实施例中相关的图形渲染方法。
此外,在本步骤中,终端设备A可以通过自身生成或者是接收其它终端设备发送的方式获取得到该初始三维模型数据,该初始三维模型数据可以包括原始数据,具体来说,原始数据可以直接是三维模型中各个顶点的顶点数据,也可以是由预设数量的顶点数据组成的图元组织的数据(例如三个顶点组成的图元组织为三角面),此处不做限定。并且在其中,各个顶点数据中具体是由各个顶点的位置信息,以及纹理坐标(uv坐标)、颜色、法线、骨骼权重中的一个或多个组成。
102、使用不同数量所述原始数据的组合建立至少两个数据列表;
本实施例中,终端设备使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引。
具体地,终端设备可以使用步骤101获取得到的初始三维模型数据中的原始数据进行组合得到至少两个数据列表,其中,至少两个数据列表用于指示原始数据的位置索引。例如,原始数据有10000个,可以选择其中的10000、1000、100、10、1个作为实施例中的不同数据的原始数据组合建立至少两个数据列表,也可以是选择其中的10000、5000、2500、1250、625个原始数据作为实施例中的不同数据的原始数据组合建立数据列表,或者是其它不同数量的原始数据,具体在此处可以设计人员依据实际需要进行手动选择其中的原始数据,或者是设计人员通过预置选择算法来进行自动选择其中的原始数据,其目的是为了使得不同的数据列表对应对不同的多细节层次LOD(detail of level)等级,“不同数量”优选来说可以用于指示不同数量级的原始数据。
此外,得到的至少两个数据列表用于指示原始数据的位置索引,例如可以直接是各个原始数据在该初始三维模型的序号,位置编号或者是其它的位置索引信息,作为一个优选的方案,此处可以使用常规的方法即直接将该序号作为该至少两个数据列表。
103、根据所述至少两个数据列表生成至少两个索引数据;
本实施例中,根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应。
具体地,终端设备可以根据步骤102中得出的至少两个数据列表来一一生成一个关联关系,该关联关系可以用于指示至少两个数据列表与至少两个多层次细节LOD等级一一对应,也就是说,一个数据列表对应于一个LOD等级,具体由该关联关系来进行标识,从而,生成至少两个索引数据,也就是说,一个数据列表、一个索引数据和一个LOD等级三者一一对应。
本实施例中,该关联关系可以是通过明文展示的方式直接显示、也可以是通过预设的系统标注的形式存在于索引数据中,具体此处不做限定。
作为一个优选的实施例,关联关系可以通过标识码的方式直接标识出来,例如该关联关系可以包括至少两个标识码,所述至少两个标识码用于一一标识所述至少两个图元列表的LOD等级,从而一一生成得到至少两个索引数据。示例性的,该数据列表可以是数组的形式显示,然后该关联关系可以是通过数组上标、数组下标或者是其他的标识码形式进行显示。
104、生成目标三维模型数据;
本实施例中,生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
具体地,终端设备可以使用步骤101得到的原始数据和步骤103得到的至少两个索引数据生成目标三维模型数据,从而,在该目标三维模型数据中,一份原始数据可以存在与之对应的多份(至少两个)索引数据。
本实施例中,获取初始三维模型数据,所述初始三维模型数据包括原始数据;使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。其中,与至少两个LOD等级一一对应的至少两个索引数据使用的是同一份原始数据,因此,与现有技术中三维模型数据需要具备不同LOD等级对应的多份三维模型数据(即多份原始数据)相比,该目标三维模型数据包括所述原始数据和所述至少两个索引数据可以节省终端的运行空间,进而提升终端运行的流畅度,优化终端对三维模型的渲染过程。
本申请实施例中,一个三维模型可以有很多的顶点,对应的三维模型数据中存在很多的顶点数据,顶点数据是最基础数据也是最重要的数据,通常来说,在顶点数据量较多的时候,可以由顶点数据组成图元组织,例如该图元组织可以是线段、三角面或者是其他的形式的图元组织,本实施例及后续实施例仅以其中的三角面为例进行说明。
具体来说,一个三角面是由3个顶点构成,即一个图元组织对应三个顶点数据,比如一个模型有10000个顶点,被按顺序存储在终端设备的一块存储空间中,被称为顶点数据,假设命名这个顶点数据为VertexData,像这样[0号顶点数据,1号顶点数据,2号顶点数据,3号顶点数据,…………9999号顶点数据],而三角形描述被存放在终端的另一块存储空间中,其被称为图元列表,像这样[0,1,2,100,101,102,330,368,452,..............],这里,0,1,2构成第一个三角面,100,101,102构成第二个三角面,而330,368,452都成第三个三角面,依次到结束。0,1,2这三个数其实是个顶点数据的位置索引,构成的第一个三角面,真正的数据在VertexData的第0个位置(0号顶点数据),第1个位置(1号顶点数据),第2个位置(2号顶点数据),100,101,102这三个数其实是个位置索引,意思是VertexData中第100个位置的顶点(100号顶点数据),第101个位置的顶点(101号顶点数据),第102个位置的顶点(102号顶点数据)。因此,对于图形渲染来说,在顶端数据较多的情况下,在步骤103中,该图元列表需要加上一个LOD等级数据,即可得到索引数据,因此,索引数据还具体LOD等级划分的指引,从而,终端设备在进行图形渲染的时候需要索引数据也需要顶点数据。
示例性的,假设设计人员做了一棵树的三维模型,有10万三角面,保存到了一个后缀名是tree1.fbx的文件上,为了考虑性能差得机器,比如手机,10万面太高了,需要降到1万面,保存到一个后缀名为tree2.fbx的文件里,依次还有2000面的tree3.fbx。在游戏引擎里,如果这棵树离玩家很近,就在眼前,使用tree1.fbx,如果远在天边使用tree3.fbx,距离适中使用tree2.fbx,这个过程控制就叫做LOD。
但是一棵数为了让玩家近处看起来更真实,远处节省资源,在内存里加载了tree1.fbx,tree2.fbx,tree3.fbx虽然实现了LOD效果,但是内存太浪费了,资源加载的时候也会浪费CPU资源。因此,设计人员在专业的3D建模软件中制作的三维模型(3dMax,maya等)时,本实施例不会导出tree1.fbx,tree2.fbx,tree3.fbx而是只导出一个tree.fbx。在现有技术中,Tree1.fbx拥有一个顶点数据,一个索引数据;Tree2.fbx拥有一个顶点数据,一个索引数据;Tree3.fbx拥有一个顶点数据,一个索引数据;其中Tree1Tree2Tree3三者的顶点数据是完全一致的,而索引数据集是不同的,比如tree1有10万三角面意思就是tree1的索引流记录了30万个索引;Tree2有1万三角面意思就是tree2的索引流记录了3万个索引;Tree3有2000三角面意思就是tree3的索引流记录了6千个索引。
但是本申请中的tree.fbx中拥有一个顶点数据集(原始数据),3个索引数据,第1个索引流记录了30万个索引;第2个索引流记录了3万个索引;第3个索引流记录了6千个索引这样tree的大小,比tree1+tree2+tree3少了2个顶点数据集那么大。从而,三维物体的不同细节等级使用的是同一个模型资源,在节省内存同时也降低了IO开销,同时,也减降低了软件整体的大小,比如对于游戏而言包体的大小降低明显,可以大幅度提升终端运行的流畅度。
具体在步骤104生成目标三维模型数据之后,若需要使用该目标三维模型数据进行图形渲染,具体可以根据目标三维模型数据中的原始数据和至少两个索引数据来进行操作,下面将通过具体的实施例对该渲染过程进行描述。
请参阅图2,基于图1所述实施例,本申请实施例中一种基于LOD等级的三维模型数据处理方法的另一个实施例中,在步骤104之后,该方法还可以包括:
201、获取图形渲染指令;
本实施例中,终端设备获取图形渲染指令,具体来说,终端设备可以通过如触摸屏、键盘、鼠标或者是其他的输入设备获取得到该指令。
具体地,步骤101至步骤104为三维模型数据生成过程,步骤201至步骤205为对三维模型数据进行图形渲染过程,两者可以在同一个终端设备A中进行执行操作,也可以是通过不同的终端设备来执行,终端设备A实现模型生成,通过终端B实现模型渲染的过程,此处不做限定。
202、根据所述图形渲染指令确定出目标LOD等级;
本实施例中,终端设备根据步骤201获取得到的图形渲染指令确定出目标LOD等级,即后续需要进行图形渲染的LOD等级。示例性的,此处当该指令中包含有目标LOD等级时,终端设备可以直接读取,当该指令中不包含有目标LOD等级时,终端设备可以通过如标准方法中通过三维模型的观察距离等因素计算得到该目标LOD等级。
203、获取所述目标三维模型数据;
本实施例中,终端设备获取步骤104中生成的目标三维模型数据,如步骤201中所述,此处可以是终端设备A在自身存储空间中获取得到该目标三维模型数据,也可以是终端设备B与终端设备A通信获取得到目标三维模型数聚,此处不做限定。
具体来说,如图1实施例所述,该目标三维模型数据至少包括所述原始数据和所述至少两个索引数据。
204、根据所述关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据;
本实施例中,终端设备根据该关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据。
具体来说,即在至少两个索引数据中找出与目标LOD等级对应的目标索引数据,可以通过关联关系来确定出。
205、使用所述目标索引数据和所述原始数据进行图形渲染。
本实施例中,终端设备可以根据步骤204中确定出来的目标索引数据和原始数据来进行图形渲染,具体来说,即通过目标索引数据确定出在三维模型中需要渲染的顶点的位置索引,然后在原始数据中读取需要渲染的顶点的具体数据,进而实现三维模型的图形渲染。
本申请实施例中,基于上述描述,具体在步骤101获取初始三维模型数据的方法有多种,其中所述获取初始三维模型数据,该初始三维模型数据中的原始数据可以直接是顶点数据,也可以是顶点数据组合成的图元组织。
具体地,步骤101获取初始三维模型数据包括:获取第一三维模型数据,所述第一三维模型数据包括顶点数据;将所述顶点数据确定为所述原始数据。作为一个优选的实施例,101获取初始三维模型数据的方法也可以包括:获取第二三维模型数据,所述第二三维模型数据包括顶点数据;根据所述顶点数据生成图元组织;将所述图元组织确定为所述原始数据。
基于此,在该第二三维模型中包括顶点数据,且需要根据顶点数据生成图元组织的方案之后,请参阅图3,基于图2所述实施例,本申请实施例中一种基于LOD等级的三维模型数据处理方法的另一个实施例中,步骤205使用所述目标索引数据和所述顶点数据进行图形渲染具体可以包括:
301、使用所述目标索引数据确定出对应的目标数据列表;
本实施例中,终端设备可以使用步骤202确定出来的目标索引数据先确定出对应的目标数据列表,即使用至少两个索引数据确定出与该目标索引数据对应的目标数据列表。
302、根据所述目标数据列表确定出目标图元组织;
本实施例中,终端设备根据根据步骤301确定出来的目标数据列表进而找到与之对应的目标图元组织,由前述描述可得,数据列表为图元组织的位置索引,两者存在对应关系。
303、在所述原始数据中对所述目标图元组织进行渲染。
本实施例中,终端设备在原始数据中找到对应的图元组织的具体的顶点数据,进而在三维模型中执行图形渲染的操作。
上面从方法的角度对本申请实施例进行了说明,下面从虚拟装置的角度对本申请进行介绍。
请参阅图4,本申请实施例中,一种终端设备的一个实施例包括:
第一获取单元401,用于获取初始三维模型数据,所述初始三维模型数据包括原始数据;
建立单元402,用于使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;
第一生成单元403,用于根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;
第二生成单元404,用于生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
本实施例中,第一获取单元401,用于获取初始三维模型数据,所述初始三维模型数据包括原始数据;建立单元402,用于使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;第一生成单元403,用于根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;第二生成单元404,用于生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。其中,与至少两个LOD等级一一对应的至少两个索引数据使用的是同一份原始数据,因此,与现有技术中三维模型数据需要具备不同LOD等级对应的多份三维模型数据(即多份原始数据)相比,该目标三维模型数据包括所述原始数据和所述至少两个索引数据可以节省终端的运行空间,进而提升终端运行的流畅度,优化终端对三维模型的渲染过程。
作为一个优选方案,所述终端设备还包括:
第二获取单元405,用于获取图形渲染指令;
第一确定单元406,用于根据所述图形渲染指令确定出目标LOD等级;
第三获取单元407,用于获取所述目标三维模型数据;
第二确定单元408,用于根据所述关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据;
渲染单元409,用于使用所述目标索引数据和所述原始数据进行图形渲染。
作为一个优选方案,所述第一获取单元401具体用于:
获取第一三维模型数据,所述第一三维模型数据包括顶点数据;
将所述顶点数据确定为所述原始数据。
作为一个优选方案,所述第一获取单元401具体用于:
获取第二三维模型数据,所述第二三维模型数据包括顶点数据;
根据所述顶点数据生成图元组织;
将所述图元组织确定为所述原始数据。
作为一个优选方案,所述渲染单元409具体用于:
使用所述目标索引数据确定出对应的目标数据列表;
根据所述目标数据列表确定出目标图元组织;
在所述原始数据中对所述目标图元组织进行渲染。
作为一个优选方案,所述关联关系包括至少两个标识码,所述至少两个标识码用于一一标识所述至少两个图元列表的LOD等级。
下面从实体装置的角度对本申请进行说明,由前述步骤201的描述可得,本申请实施例可以由一个终端设备或者由两个终端设备配合执行,下面将通过一个实施例作为示例描述其中的一个终端设备或者由两个终端设备,请参阅图5,本申请实施例中,一种终端设备的另一个实施例包括:
中央处理器(central processing units,CPU)501,存储介质502,电源503,存储器504,输入输出接口505,应理解,本申请实施例中的CPU可以是一个,也可以是多个,输入输出接口可以是一个,也可以是多个,具体此处不作限定。电源503可以为稳态检测装置提供工作电源,存储器504和存储介质502可以是短暂存储或持久存储,存储介质中存储了指令,当CPU可以根据该存储器中的指令执行前述图1-图3实施例中任一项描述的具体步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (16)
1.一种基于LOD等级的三维模型数据处理方法,其特征在于,包括:
获取初始三维模型数据,所述初始三维模型数据包括原始数据;
使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;
根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;
生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
2.根据权利要求1所述的方法,其特征在于,在所述生成目标三维模型数据之后,所述方法还包括:
获取图形渲染指令;
根据所述图形渲染指令确定出目标LOD等级;
获取所述目标三维模型数据;
根据所述关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据;
使用所述目标索引数据和所述原始数据进行图形渲染。
3.根据权利要求1或2所述的方法,其特征在于,所述获取初始三维模型数据包括:
获取第一三维模型数据,所述第一三维模型数据包括顶点数据;
将所述顶点数据确定为所述原始数据。
4.根据权利要求1或2所述的方法,其特征在于,所述获取初始三维模型数据包括:
获取第二三维模型数据,所述第二三维模型数据包括顶点数据;
根据所述顶点数据生成图元组织;
将所述图元组织确定为所述原始数据。
5.根据权利要求4所述的方法,其特征在于,所述使用所述目标索引数据和所述顶点数据进行图形渲染包括:
使用所述目标索引数据确定出对应的目标数据列表;
根据所述目标数据列表确定出目标图元组织;
在所述原始数据中对所述目标图元组织进行渲染。
6.根据权利要求1或2所述的方法,其特征在于,所述关联关系包括至少两个标识码,所述至少两个标识码用于一一标识所述至少两个图元列表的LOD等级。
7.一种终端设备,其特征在于,包括:
第一获取单元,用于获取初始三维模型数据,所述初始三维模型数据包括原始数据;
建立单元,用于使用不同数量所述原始数据的组合建立至少两个数据列表,所述至少两个数据列表用于指示所述原始数据的位置索引;
第一生成单元,用于根据所述至少两个数据列表生成至少两个索引数据,所述至少两个索引数据包括关联关系,所述关联关系用于指示所述至少两个数据列表与至少两个多层次细节LOD等级一一对应;
第二生成单元,用于生成目标三维模型数据,所述目标三维模型数据包括所述原始数据和所述至少两个索引数据。
8.根据权利要求7所述的终端设备,其特征在于,所述终端设备还包括:
第二获取单元,用于获取图形渲染指令;
第一确定单元,用于根据所述图形渲染指令确定出目标LOD等级;
第三获取单元,用于获取所述目标三维模型数据;
第二确定单元,用于根据所述关联关系在所述至少两个索引数据中确定出与所述目标LOD等级对应的目标索引数据;
渲染单元,用于使用所述目标索引数据和所述原始数据进行图形渲染。
9.根据权利要求7或8所述终端设备,其特征在于,所述第一获取单元具体用于:
获取第一三维模型数据,所述第一三维模型数据包括顶点数据;
将所述顶点数据确定为所述原始数据。
10.根据权利要求7所述终端设备,其特征在于,所述第一获取单元具体用于:
获取第二三维模型数据,所述第二三维模型数据包括顶点数据;
根据所述顶点数据生成图元组织;
将所述图元组织确定为所述原始数据。
11.根据权利要求10所述的终端设备,其特征在于,所述终端设备还包括渲染单元,所述渲染单元具体用于:
使用所述目标索引数据确定出对应的目标数据列表;
根据所述目标数据列表确定出目标图元组织;
在所述原始数据中对所述目标图元组织进行渲染。
12.根据权利要求8所述终端设备,其特征在于,所述第一获取单元具体用于:
获取第二三维模型数据,所述第二三维模型数据包括顶点数据;
根据所述顶点数据生成图元组织;
将所述图元组织确定为所述原始数据。
13.根据权利要求12所述的终端设备,其特征在于,所述渲染单元具体用于:
使用所述目标索引数据确定出对应的目标数据列表;
根据所述目标数据列表确定出目标图元组织;
在所述原始数据中对所述目标图元组织进行渲染。
14.根据权利要求7或8所述终端设备,其特征在于,所述关联关系包括至少两个标识码,所述至少两个标识码用于一一标识所述至少两个图元列表的LOD等级。
15.一种终端设备,其特征在于,包括:
处理器、存储器、总线以及输入输出接口,该处理器、该存储器与该输入输出接口通过该总线连接;
该存储器,用于存储程序代码;
该处理器调用该存储器中的程序代码时执行如权利要求1至6任一项所述方法的步骤。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760053.6A CN110458931B (zh) | 2019-08-16 | 2019-08-16 | 一种基于lod等级的三维模型数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910760053.6A CN110458931B (zh) | 2019-08-16 | 2019-08-16 | 一种基于lod等级的三维模型数据处理方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110458931A CN110458931A (zh) | 2019-11-15 |
CN110458931B true CN110458931B (zh) | 2020-11-24 |
Family
ID=68487215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910760053.6A Active CN110458931B (zh) | 2019-08-16 | 2019-08-16 | 一种基于lod等级的三维模型数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110458931B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968210A (zh) * | 2020-08-17 | 2020-11-20 | 北京像素软件科技股份有限公司 | 物体简化模型创建、显示方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615191A (zh) * | 2009-07-28 | 2009-12-30 | 武汉大学 | 海量点云数据的存储与实时可视化方法 |
CN102289839A (zh) * | 2011-08-04 | 2011-12-21 | 天津中科遥感信息技术有限公司 | 一种面向三维数字城市的高效多细节层次渲染方法 |
CN102306180A (zh) * | 2011-08-29 | 2012-01-04 | 北京建筑工程学院 | 一种基于海量激光雷达栅格点云数据的建模方法 |
CN104008566A (zh) * | 2013-02-27 | 2014-08-27 | 河南省电力勘测设计院 | 海量高精度三维电力设备模型在gis中高效渲染方法 |
KR20140110575A (ko) * | 2013-03-08 | 2014-09-17 | (주)이지스 | 개선된 lod 기반의 화산재 확산 모델 가시화방법 |
CN104751505A (zh) * | 2013-06-19 | 2015-07-01 | 国家电网公司 | 基于lod模型和四叉树层次结构的三维场景渲染算法 |
CN105405166A (zh) * | 2015-10-30 | 2016-03-16 | 东北大学 | 一种基于线性四叉树的lod模型生成方法 |
CN106407408A (zh) * | 2016-09-22 | 2017-02-15 | 北京数字绿土科技有限公司 | 一种海量点云数据的空间索引构建方法及装置 |
WO2019075702A1 (en) * | 2017-10-19 | 2019-04-25 | Tencent Technology (Shenzhen) Company Limited | METHODS AND SYSTEMS FOR PROCESSING GRAPHICS |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10217280B2 (en) * | 2016-11-17 | 2019-02-26 | Advanced Micro Devices, Inc. | Identifying primitives in input index system |
-
2019
- 2019-08-16 CN CN201910760053.6A patent/CN110458931B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615191A (zh) * | 2009-07-28 | 2009-12-30 | 武汉大学 | 海量点云数据的存储与实时可视化方法 |
CN102289839A (zh) * | 2011-08-04 | 2011-12-21 | 天津中科遥感信息技术有限公司 | 一种面向三维数字城市的高效多细节层次渲染方法 |
CN102306180A (zh) * | 2011-08-29 | 2012-01-04 | 北京建筑工程学院 | 一种基于海量激光雷达栅格点云数据的建模方法 |
CN104008566A (zh) * | 2013-02-27 | 2014-08-27 | 河南省电力勘测设计院 | 海量高精度三维电力设备模型在gis中高效渲染方法 |
KR20140110575A (ko) * | 2013-03-08 | 2014-09-17 | (주)이지스 | 개선된 lod 기반의 화산재 확산 모델 가시화방법 |
CN104751505A (zh) * | 2013-06-19 | 2015-07-01 | 国家电网公司 | 基于lod模型和四叉树层次结构的三维场景渲染算法 |
CN105405166A (zh) * | 2015-10-30 | 2016-03-16 | 东北大学 | 一种基于线性四叉树的lod模型生成方法 |
CN106407408A (zh) * | 2016-09-22 | 2017-02-15 | 北京数字绿土科技有限公司 | 一种海量点云数据的空间索引构建方法及装置 |
WO2019075702A1 (en) * | 2017-10-19 | 2019-04-25 | Tencent Technology (Shenzhen) Company Limited | METHODS AND SYSTEMS FOR PROCESSING GRAPHICS |
Non-Patent Citations (2)
Title |
---|
分块LOD大规模地形实时渲染算法;李钦;《计算机辅助设计与图形学学报》;20130531;第708-713页 * |
基于改进的八叉树索引与分层渲染的海量激光点云可视化技术;王磊;《软件》;20161231;第114-117页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110458931A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815755A (zh) | 虚拟物体被遮挡的区域确定方法、装置及终端设备 | |
CN111145329B (zh) | 模型渲染方法、系统及电子装置 | |
CN114820905A (zh) | 虚拟形象生成方法、装置、电子设备及可读存储介质 | |
US7064755B2 (en) | System and method for implementing shadows using pre-computed textures | |
CN111047509A (zh) | 一种图像特效处理方法、装置及终端 | |
CN109509242B (zh) | 虚拟对象面部表情生成方法及装置、存储介质、电子设备 | |
CN109377552B (zh) | 图像遮挡计算方法、装置、计算设备及存储介质 | |
WO2023179091A1 (zh) | 三维模型渲染方法、装置、设备、存储介质及程序产品 | |
CN110458931B (zh) | 一种基于lod等级的三维模型数据处理方法及相关设备 | |
CN109903374B (zh) | 虚拟对象的眼球模拟方法、装置及存储介质 | |
US8004515B1 (en) | Stereoscopic vertex shader override | |
US9489771B2 (en) | Techniques for spatially sorting graphics information | |
CN105957133B (zh) | 一种加载贴图的方法和装置 | |
US10372571B2 (en) | Method and apparatus for testing compatibility of 3D engine | |
CN112221151B (zh) | 一种地图生成方法、装置、计算机设备及存储介质 | |
US20080143743A1 (en) | Adaptive Span Computation During Ray Casting | |
CN109847360B (zh) | 游戏道具的3d效果处理方法、装置、电子设备及介质 | |
CN115861510A (zh) | 对象渲染方法、装置、电子设备、存储介质及程序产品 | |
CN114816457A (zh) | 克隆虚拟模型的方法、装置、存储介质及电子装置 | |
CN114648601A (zh) | 虚拟形象的生成方法、电子设备、程序产品及用户终端 | |
CN114742970A (zh) | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 | |
WO2021208170A1 (zh) | 一种vr场景中确定目标算法的方法及装置、计算设备 | |
CN111754632B (zh) | 业务服务的处理方法、装置、设备及存储介质 | |
CN114998554B (zh) | 三维卡通人脸建模方法及装置 | |
CN107038737B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |