CN112419463B - 一种模型数据处理方法、装置、设备及可读存储介质 - Google Patents
一种模型数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112419463B CN112419463B CN202011401991.6A CN202011401991A CN112419463B CN 112419463 B CN112419463 B CN 112419463B CN 202011401991 A CN202011401991 A CN 202011401991A CN 112419463 B CN112419463 B CN 112419463B
- Authority
- CN
- China
- Prior art keywords
- data
- vertex
- model
- redundant
- vertex 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 21
- 239000000463 material Substances 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 16
- 238000009877 rendering Methods 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000005286 illumination Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种模型数据处理方法、装置、设备及可读存储介质,该模型数据处理方法包括:获取包括多个顶点数据的原始模型数据的数据特征;根据数据特征删除顶点数据中的冗余数据,得到轻量化顶点数据;将轻量化顶点数据加入顶点索引数组后进行保存;基于顶点索引数组绘制对应模型场景。通过本申请方案的实施,针对原始模型数据所包括的顶点数据中的冗余数据进行删除,然后基于所得到的轻量化模型数据进行模型绘制,可有效降低模型绘制时所需加载和渲染的模型数据量,减少了对电子设备的内存占用,保证了电子设备的运行性能。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种模型数据处理方法、装置、设备及可读存储介质。
背景技术
随着计算机软件技术的发展,建模软件的应用已经在个人电脑、手机、平板电脑等电子设备上得到普及。众所周知,在电子设备上进行三维模型绘制时所需加载的模型数据量较大,从而对电子设备内存的占用量也急剧增加,由于目前电子设备的内存空间通常较为有限,若在加载模型数据时占用过多的内存,则会给电子设备带来较大的数据处理压力,造成系统运行缓慢甚至崩溃。
发明内容
本申请实施例提供了一种模型数据处理方法、装置、设备及可读存储介质,至少能够解决相关技术中在加载模型数据时占用的内存量较大,所导致的系统运行较为缓慢甚至容易出现崩溃的问题。
本申请实施例第一方面提供了一种模型数据处理方法,包括:
获取原始模型数据的数据特征;其中,所述原始模型数据包括多个顶点数据,所述顶点数据包括顶点坐标、纹理坐标以及法线数据;
根据所述数据特征删除所述顶点数据中的冗余数据,得到轻量化顶点数据;
将所述轻量化顶点数据加入顶点索引数组后进行保存;
基于所述顶点索引数组绘制对应模型场景。
本申请实施例第二方面提供了一种模型数据处理装置,包括:
获取模块,用于获取原始模型数据的数据特征;其中,所述原始模型数据包括多个顶点数据,所述顶点数据包括顶点坐标、纹理坐标以及法线数据;
删除模块,用于根据所述数据特征删除所述顶点数据中的冗余数据,得到轻量化顶点数据;
保存模块,用于将所述轻量化顶点数据加入顶点索引数组后进行保存;
绘制模块,用于基于所述顶点索引数组绘制对应模型场景。
本申请实施例第三方面提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述本申请实施例第一方面提供的模型数据处理方法中的各步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的模型数据处理方法中的各步骤。
由上可见,根据本申请方案所提供的模型数据处理方法、装置、设备及可读存储介质,获取包括多个顶点数据的原始模型数据的数据特征;根据数据特征删除顶点数据中的冗余数据,得到轻量化顶点数据;将轻量化顶点数据加入顶点索引数组后进行保存;基于顶点索引数组绘制对应模型场景。通过本申请方案的实施,针对原始模型数据所包括的顶点数据中的冗余数据进行删除,然后基于所得到的轻量化模型数据进行模型绘制,可有效降低模型绘制时所需加载和渲染的模型数据量,减少了对电子设备的内存占用,保证了电子设备的运行性能。
附图说明
图1为本申请第一实施例提供的模型数据处理方法的基本流程示意图;
图2为本申请第一实施例提供的整型变量类型确定方法的流程示意图;
图3为本申请第一实施例提供的模型绘制方法的流程示意图;
图4为本申请第一实施例提供的模型场景示意图;
图5为本申请第二实施例提供的模型数据处理方法的细化流程示意图;
图6为本申请第三实施例提供的模型数据处理装置的程序模块示意图;
图7为本申请第四实施例提供的电子设备的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决相关技术中在加载模型数据时占用的内存量较大,所导致的系统运行较为缓慢甚至容易出现崩溃的缺陷,本申请第一实施例提供了一种模型数据处理方法,如图1为本实施例提供的模型数据处理方法的基本流程图,该模型数据处理方法包括以下的步骤:
步骤101、获取原始模型数据的数据特征。
具体的,本实施例在建模场景下首先需要对原始模型数据也即模型数据源文件(例如OBJ文件)进行读取,然后针对原始模型数据获取其对应数据特征。在本实施例中,原始模型数据包括多个顶点数据,顶点数据包括顶点坐标、纹理坐标以及法线数据三种数据元素,其中,法线数据也即顶点法向量,为过顶点的一个矢量,而数据特征则可以包括顶点数据取值、模型材质等。在实际应用中,可以将顶点数据记作P(x,y,z,u,v,n),其中,顶点数据中的(x,y,z)表示顶点坐标,(u,v)表示纹理坐标,(n)表示法线数据,法线数据可以基于顶点坐标及纹理坐标计算得到。应当理解的是,本实施例的顶点数据内可以不仅限于包括上述三种数据元素,例如还可以包括切线、副法线等。
在本实施例的一些实施方式中,在获取原始模型数据的数据特征之前,还包括:对电子设备当前的内存占用量进行评估;在内存占用量高于预设内存占用量阈值时,执行获取原始模型数据的数据特征的步骤。
具体的,在实际应用中,不同类型电子设备的配置有所不同,例如手机的内存要大于智能手表,以及同一电子设备在不同运行场景下对内存的占用有所不同,例如电子设备并发处理的业务越多对内存占用越大,从而可供模型绘制场景使用的内存量则较少。出于原始模型数据轻量化后对数据精度可能会有一定影响,从而为了保证模型绘制效果和系统运行性能的折中,本实施例在接收到模型绘制指令时,首先对电子设备的内存占用量进行评估,确定剩余可用内存是否可支持全量加载原始模型数据而不影响系统运行性能,若否,则具备模型数据轻量化需求,从而触发执行本实施例的模型数据处理流程,在一定程度下满足模型绘制效果的同时最大程度的保证系统运行性能;若是,则可直接基于原始模型数据进行模型绘制,以在系统运行性能不受影响的同时保证最优模型绘制效果。
步骤102、根据数据特征删除顶点数据中的冗余数据,得到轻量化顶点数据。
具体的,本实施例针对原始模型数据所包括的顶点数据中的冗余数据进行删除,以实现原始模型数据的轻量化处理,以降低模型加载和渲染所需占用的内存。
在本实施例一些实施方式中,根据数据特征删除顶点数据中的冗余数据,包括:根据数据特征确定构成模型几何表面的所有顶点中的冗余顶点;将原始模型数据所包括的所有顶点数据中,冗余顶点对应的顶点数据进行删除。
具体的,在其中一种实现方式中,可以将所有顶点数据中的部分冗余顶点数据进行去除,以实现顶点数据的精简。例如原始模型数据中包括A、B、C、D四个顶点对应的顶点数据,若B和D分别为A和C的冗余顶点,则将B、D两个顶点对应的顶点数据进行去除。
进一步地,在本实施例一些实施方式中,数据特征包括顶点数据取值。相对应的,根据数据特征确定构成模型几何表面的所有顶点中的冗余顶点,包括:在读取原始模型数据中的顶点数据时,将在后读取的第一顶点数据分别与在先读取的第二顶点数据的顶点数据取值进行比对;将顶点数据取值比对一致的第一顶点数据对应的顶点,确定为构成模型几何表面的所有顶点中的冗余顶点。
具体的,在本实施例中,在读取模型数据源文件时,对其中所包括的各顶点数据依次进行读取,将构成面的顶点保存,且在读取到各顶点数据时,判断其是否与此前已读取的顶点数据的顶点数据取值相同,应当理解的是,本实施例的顶点数据取值也即其所包括的数据元素(例如顶点坐标、纹理坐标以及法线数据)的取值,若当前读取的顶点数据与此前已读取的顶点数据的数据取值完全一致,例如顶点坐标、纹理坐标以及法线数据三者完全一致,则确认当前读取的顶点为此前已读取的顶点的冗余顶点。
在本实施例另一些实施方式中,根据数据特征删除顶点数据中的冗余数据,包括:根据数据特征确定顶点数据中的冗余数据元素;分别将各顶点数据中的冗余数据元素进行删除。
具体的,在另一种实现中,区别于将部分顶点数据进行删除,还可以是对所有顶点数据均进行保留,而只是针对各顶点数据中的部分数据元素进行去除,以本实施例的顶点数据包括顶点坐标、纹理坐标以及法线数据三种数据元素为例,可以对三者之中至少之一进行去除,同样可以实现原始模型数据的轻量化处理。
进一步地,在本实施例一些实施方式中,数据特征包括模型材质;相对应的,根据数据特征确定顶点数据中的冗余数据元素的具体实现方式包括但不限于以下两种:
方式一,基于模型材质获取模型贴图需求;在模型贴图需求为无需贴图时,将顶点数据中的纹理坐标确定为冗余数据元素。
具体的,模型材质的本质为供渲染器读取的数据集,表现物体对光的交互,数据集,包括贴图纹理等,贴图纹理的本质为图像映射规则,把存储在内存里的位图,通过UV坐标映射到渲染物体的表面。本实施例基于模型材质判断当前所需绘制的模型是否需要贴图,也即基于模型材质获取对应的贴图纹理,然后基于贴图纹理确定模型的光照特性,最后再根据光照特性判断模型是否需要贴图,应当说明的是,在根据光照特性判断模型是否需要贴图时,也即基于光照特性判断模型是否显示纯颜色值、或是否使用光照算法计算颜色,若不需要,则说明模型不需要贴图,从而顶点数据中的纹理坐标在模型绘制时并无贡献,可以将纹理坐标确定为顶点数据中的冗余数据元素。
方式二,基于模型材质确定模型渲染算法;获取模型渲染算法的输入参数;在输入参数不包括法线数据时,将顶点数据中的法线数据确定为冗余数据元素。
具体的,模型渲染通过将模型数据输入至特定的模型渲染算法实现,本实施例基于模型材质获取对应的贴图纹理,然后基于贴图纹理确定模型的光照特性,再根据光照特性确定所需采用的模型渲染算法,其中,光照特性用于指示模型对光的交互特性。在实际应用中,当模型渲染算法中并不涉及光照算法、反射算法等与法线相关的算法时,则说明模型渲染算法内并不需要将法线数据作为输入,从而可以将法线数据确定为顶点数据中的冗余数据元素。
步骤103、将轻量化顶点数据加入顶点索引数组后进行保存。
具体的,在本实施例中,在基于原始模型数据完成数据轻量化处理之后,将轻量化模型数据保存至电子设备的内存,可以大大节省建模程序加载模型数据所需使用的内存。
步骤104、基于顶点索引数组绘制对应模型场景。
具体的,本实施例所加载的模型数据为轻量化模型数据,那么在模型绘制时所需渲染的数据量也大大减少,从而同时还可以节省渲染模型所需的内存。应当说明的是,本实施例的模型场景内包括所需绘制的所有模型。
如图2所示为本实施例提供的一种整型变量类型确定方法的流程示意图,在本实施例一些实施方式中,在将轻量化顶点数据加入顶点索引数组后进行保存之前,还具体包括如下步骤:
步骤201、获取轻量化顶点数据中所有顶点数据对应的第一数据量;
步骤202、将第一数据量与不同整型变量类型相应的第二数据量分别进行匹配;
步骤203、将第二数据量大于或等于第一数据量的所有整型变量类型中,内存占用量最小的整型变量类型确定为目标整型变量类型。
具体的,本实施例的数据量可以包括数据数量和数据容量。在实际应用中,顶点索引数组可以采用不同的整型变量类型来进行保存,其中,整型变量类型可以包括短整型变量类型(Short类型)、基本整型变量类型(Int类型)、长整型变量类型(Long类型)等,不同整型变量类型占据的字节数有所不同,例如Short类型占据的内存大小为2个字节,而Int类型则为4个字节,另外,不同整型变量类型所支持保存的数据数量最大值有所不同,例如Short类型所支持保存的数据量为32767,Int类型所支持保存的数据量为2147483647。
本实施例在保存顶点索引数组时,需要判断最终保留的数据量,然后从所有整型变量类型中确定支持保存该数据量的所有整型变量类型,再进一步从所确定的所有整型变量类型中筛选出内存占用量最小的目标整型变量类型。相对应的,本实施例可以将轻量化顶点数据加入顶点索引数组后,采用目标整型变量类型对顶点索引数组进行保存,例如顶点索引数组中的数据量为30000,那么Short类型、Int类型均支持保存该数据量,然而采用Short类型所占据的内存量更小,那么则采用Short类型将顶点索引数组进行保存,相对于Int类型可以节省一半内存。
如图3所示为本实施例提供的一种模型绘制方法的流程示意图,在本实施例一些实施方式中,在基于顶点索引数组绘制对应模型场景时,具体包括如下步骤:
步骤301、当待绘制的模型场景中具有多个形状相似的模型时,对顶点索引数组中对应于其中一个目标模型的目标模型数据进行加载;
步骤302、获取其它模型相对于目标模型的变换矩阵;
步骤303、通过目标模型数据绘制目标模型,并通过目标模型数据以及变换矩阵绘制其它模型。
如图4所示为本实施例提供的一种模型场景示意图,图中所示的各个待绘制模型(也即图4中各个人物对象)形状相似,区别仅在于各模型的位置、大小、偏移角度有所不同,本实施例针对模型场景中的多个相似模型,并不分别加载对应的模型数据,而是仅选定多个相似模型其中一个模型的模型数据进行加载,然后通过各模型相对于选定模型的变换信息(包括平移、旋转、缩放信息),分别计算对应的变换矩阵,然后通过选定模型的模型数据及变换矩阵即可实现其它相似模型的绘制。由于本实施例在绘制包括多个相似模型的模型场景时,只需要加载多个相似模型中其中一个模型的模型数据,进一步降低了程序在加载模型并渲染场景时所使用的内存。
基于上述本申请实施例的技术方案,获取包括多个顶点数据的原始模型数据的数据特征;根据数据特征删除顶点数据中的冗余数据,得到轻量化顶点数据;将轻量化顶点数据加入顶点索引数组后进行保存;基于顶点索引数组绘制对应模型场景。通过本申请方案的实施,针对原始模型数据所包括的顶点数据中的冗余数据进行删除,然后基于所得到的轻量化模型数据进行模型绘制,可有效降低模型绘制时所需加载和渲染的模型数据量,减少了对电子设备的内存占用,保证了电子设备的运行性能。
图5中的方法为本申请第二实施例提供的一种细化的模型数据处理方法,该模型数据处理方法包括:
步骤501、在读取原始模型数据中的顶点数据时,将在后读取的第一顶点数据分别与在先读取的第二顶点数据的顶点数据取值进行比对。
具体的,本实施例的顶点数据取值也即其所包括的数据元素(例如顶点坐标、纹理坐标以及法线数据)的取值。
步骤502、将顶点数据取值比对一致的第一顶点数据对应的顶点,确定为构成模型几何表面的所有顶点中的冗余顶点。
具体的,在本实施例中,若当前读取的顶点数据与此前已读取的顶点数据的数据取值完全一致,例如顶点坐标、纹理坐标以及法线数据三者完全一致,则确认当前读取的顶点为此前已读取的顶点的冗余顶点。
步骤503、将原始模型数据所包括的所有顶点数据中,冗余顶点对应的顶点数据进行删除。
具体的,本实施例将所有顶点数据中的部分冗余顶点数据进行去除,以实现顶点数据的精简。
步骤504、基于模型材质和/或模型渲染算法,确定顶点数据中的冗余数据元素。
步骤505、分别将所保留的各顶点数据中的冗余数据元素进行删除,得到轻量化顶点数据。
具体的,本实施例可以基于模型材质判断当前所需绘制的模型是否需要贴图,若不需要,则将纹理坐标确定为顶点数据中的冗余数据元素;另外,还基于模型渲染所采用的算法判断是否需要将法线数据作为算法输入量,若不需要,则还可以将法线数据确定为顶点数据中的冗余数据元素,也即最后仅保留个顶点数据中的顶点坐标,对所保留的顶点数据进一步进行数据量精简。
步骤506、将轻量化顶点数据加入顶点索引数组后,采用与轻量化顶点数据的顶点数据数量相应的整型变量类型,对顶点索引数组进行保存。
具体的,本实施例在保存顶点索引数组时,需要判断最终保留的顶点数据数量,然后从所有整型变量类型中确定支持保存该顶点数据数量的所有整型变量类型,再进一步从所确定的所有整型变量类型中筛选出内存占用量最小的目标整型变量类型,由此可以节省数据保存时的内存占用量。
步骤507、当待绘制的模型场景中具有多个形状相似的模型时,对顶点索引数组中对应于其中一个目标模型的目标模型数据进行加载。
步骤508、通过目标模型数据绘制目标模型,并通过目标模型数据以及其它模型相对于目标模型的变换矩阵绘制其它模型。
具体的,本实施例针对模型场景中的多个相似模型,并不分别加载对应的模型数据,而是仅选定多个相似模型其中一个模型的模型数据进行加载,然后通过各模型相对于选定模型的变换信息(包括平移、旋转、缩放信息),分别计算对应的变换矩阵,然后通过选定模型的模型数据及变换矩阵即可实现其它相似模型的绘制。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
本申请实施例公开了一种模型数据处理方法,针对原始模型数据所包括的顶点数据中的冗余数据进行删除,然后从所有可用整型变量类型中选用内存占用量最小的目标整型变量类型保存顶点索引数组,最后针对模型场景中的多个相似模型,仅需要加载其中一个模型的模型数据,并通过该模型数据及变换矩阵即可实现其它相似模型的绘制。通过本申请方案的实施,基于所得到的轻量化模型数据进行模型绘制,可有效降低模型绘制时所需加载和渲染的模型数据量,减少了对电子设备的内存占用,保证了电子设备的运行性能。
图6为本申请第三实施例提供的一种模型数据处理装置。该模型数据处理装置可用于实现前述实施例中的模型数据处理方法。如图6所示,该模型数据处理装置主要包括:
获取模块601,用于获取原始模型数据的数据特征;其中,原始模型数据包括多个顶点数据,顶点数据包括顶点坐标、纹理坐标以及法线数据;
删除模块602,用于根据数据特征删除顶点数据中的冗余数据,得到轻量化顶点数据;
保存模块603,用于将轻量化顶点数据加入顶点索引数组后进行保存;
绘制模块604,用于基于顶点索引数组绘制对应模型场景。
在本实施例的一些实施方式中,删除模块602具体用于:根据数据特征确定构成模型几何表面的所有顶点中的冗余顶点;将原始模型数据所包括的所有顶点数据中,冗余顶点对应的顶点数据进行删除。
进一步地,在本实施例的一些实施方式中,数据特征包括顶点数据取值。相对应的,删除模块602在根据数据特征确定构成模型几何表面的所有顶点中的冗余顶点时,具体用于:在读取原始模型数据中的顶点数据时,将在后读取的第一顶点数据分别与在先读取的第二顶点数据的顶点数据取值进行比对;将顶点数据取值比对一致的第一顶点数据对应的顶点,确定为构成模型几何表面的所有顶点中的冗余顶点。
在本实施例的另一些实施方式中,删除模块602具体用于:根据数据特征确定顶点数据中的冗余数据元素;分别将各顶点数据中的冗余数据元素进行删除。
进一步地,在本实施例的一些实施方式中,数据特征包括模型材质。相对应的,删除模块602在根据数据特征确定构成模型几何表面的冗余顶点时,具体用于:基于模型材质获取模型贴图需求;在模型贴图需求为无需贴图时,将顶点数据中的纹理坐标确定为冗余数据元素;或,具体用于:基于模型材质确定模型渲染算法;获取模型渲染算法的输入参数;在输入参数不包括法线数据时,将顶点数据中的法线数据确定为冗余数据元素。
在本实施例的一些实施方式中,模型数据处理装置还包括:确定模块,用于:在将轻量化顶点数据加入顶点索引数组后进行保存之前,获取轻量化顶点数据中所有顶点数据对应的第一数据量;将第一数据量与不同整型变量类型相应的第二数据量分别进行匹配;将第二数据量大于或等于第一数据量的所有整型变量类型中,内存占用量最小的整型变量类型确定为目标整型变量类型。相对应的,保存模块603具体用于:将轻量化顶点数据加入顶点索引数组后,采用目标整型变量类型进行保存。
在本实施例的一些实施方式中,绘制模块604具体用于:当待绘制的模型场景中具有多个形状相似的模型时,对顶点索引数组中对应于其中一个目标模型的目标模型数据进行加载;获取其它模型相对于目标模型的变换矩阵;通过目标模型数据绘制目标模型,并通过目标模型数据以及变换矩阵绘制其它模型。
应当说明的是,第一、二实施例中的模型数据处理方法均可基于本实施例提供的模型数据处理装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的模型数据处理装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本实施例所提供的模型数据处理装置,获取包括多个顶点数据的原始模型数据的数据特征;根据数据特征删除顶点数据中的冗余数据,得到轻量化顶点数据;将轻量化顶点数据加入顶点索引数组后进行保存;基于顶点索引数组绘制对应模型场景。通过本申请方案的实施,针对原始模型数据所包括的顶点数据中的冗余数据进行删除,然后基于所得到的轻量化模型数据进行模型绘制,可有效降低模型绘制时所需加载和渲染的模型数据量,减少了对电子设备的内存占用,保证了电子设备的运行性能。
请参阅图7,图7为本申请第四实施例提供的一种电子设备。该电子设备可用于实现前述实施例中的模型数据处理方法。如图7所示,该电子设备主要包括:
存储器701、处理器702、总线703及存储在存储器701上并可在处理器702上运行的计算机程序,存储器701和处理器702通过总线703连接。处理器702执行该计算机程序时,实现前述实施例中的模型数据处理方法。其中,处理器的数量可以是一个或多个。
存储器701可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器701用于存储可执行程序代码,处理器702与存储器701耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子设备中,该计算机可读存储介质可以是前述图7所示实施例中的存储器。
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的模型数据处理方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的模型数据处理方法、装置、设备及可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种模型数据处理方法,其特征在于,包括:
获取原始模型数据的数据特征;其中,所述原始模型数据包括多个顶点数据,所述顶点数据包括顶点坐标、纹理坐标以及法线数据;
根据所述数据特征删除所述顶点数据中的冗余数据,得到轻量化顶点数据;所述数据特征包括顶点数据取值和模型材质,所述根据所述数据特征删除所述顶点数据中的冗余数据包括:根据所述数据特征确定构成模型几何表面的所有顶点中的冗余顶点;将所述原始模型数据所包括的所有所述顶点数据中,所述冗余顶点对应的所述顶点数据进行删除;
将所述轻量化顶点数据加入顶点索引数组后进行保存;
基于所述顶点索引数组绘制对应模型场景。
2.根据权利要求1所述的模型数据处理方法,其特征在于,所述根据所述数据特征确定构成模型几何表面的所有顶点中的冗余顶点,包括:
在读取所述原始模型数据中的所述顶点数据时,将在后读取的第一顶点数据分别与在先读取的第二顶点数据的所述顶点数据取值进行比对;
将所述顶点数据取值比对一致的所述第一顶点数据对应的顶点,确定为构成模型几何表面的所有顶点中的冗余顶点。
3.根据权利要求1所述的模型数据处理方法,其特征在于,所述根据所述数据特征删除所述顶点数据中的冗余数据,包括:
根据所述数据特征确定所述顶点数据中的冗余数据元素;
分别将各所述顶点数据中的所述冗余数据元素进行删除。
4.根据权利要求3所述的模型数据处理方法,其特征在于,所述根据所述数据特征确定所述顶点数据中的冗余数据元素,包括:
基于所述模型材质获取模型贴图需求;
在所述模型贴图需求为无需贴图时,将所述顶点数据中的所述纹理坐标确定为冗余数据元素;
或,所述根据所述数据特征确定所述顶点数据中的冗余数据元素,包括:
基于所述模型材质确定模型渲染算法;
获取所述模型渲染算法的输入参数;
在所述输入参数不包括所述法线数据时,将所述顶点数据中的所述法线数据确定为冗余数据元素。
5.根据权利要求1所述的模型数据处理方法,其特征在于,所述将所述轻量化顶点数据加入顶点索引数组后进行保存之前,还包括:
获取所述轻量化顶点数据中所有顶点数据对应的第一数据量;
将所述第一数据量与不同整型变量类型相应的第二数据量分别进行匹配;
将所述第二数据量大于或等于所述第一数据量的所有所述整型变量类型中,内存占用量最小的所述整型变量类型确定为目标整型变量类型;
所述将所述轻量化顶点数据加入顶点索引数组后进行保存,包括:
将所述轻量化顶点数据加入顶点索引数组后,采用所述目标整型变量类型进行保存。
6.根据权利要求1至5中任意一项所述的模型数据处理方法,其特征在于,所述基于所述顶点索引数组绘制对应模型场景,包括:
当待绘制的模型场景中具有多个形状相似的模型时,对所述顶点索引数组中对应于其中一个目标模型的目标模型数据进行加载;
获取其它模型相对于所述目标模型的变换矩阵;
通过所述目标模型数据绘制所述目标模型,并通过所述目标模型数据以及所述变换矩阵绘制所述其它模型。
7.一种模型数据处理装置,其特征在于,包括:
获取模块,用于获取原始模型数据的数据特征;其中,所述原始模型数据包括多个顶点数据,所述顶点数据包括顶点坐标、纹理坐标以及法线数据;
删除模块,用于根据所述数据特征删除所述顶点数据中的冗余数据,得到轻量化顶点数据,所述数据特征包括顶点数据取值和模型材质,以及具体用于根据所述数据特征确定构成模型几何表面的所有顶点中的冗余顶点;将所述原始模型数据所包括的所有所述顶点数据中,所述冗余顶点对应的所述顶点数据进行删除;
保存模块,用于将所述轻量化顶点数据加入顶点索引数组后进行保存;
绘制模块,用于基于所述顶点索引数组绘制对应模型场景。
8.一种电子设备,其特征在于,包括:存储器、处理器及总线;
所述总线用于实现所述存储器、处理器之间的连接通信;
所述处理器用于执行存储在所述存储器上的计算机程序;
所述处理器执行所述计算机程序时,实现权利要求1至6中任意一项所述方法中的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6中的任意一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011401991.6A CN112419463B (zh) | 2020-12-04 | 2020-12-04 | 一种模型数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011401991.6A CN112419463B (zh) | 2020-12-04 | 2020-12-04 | 一种模型数据处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112419463A CN112419463A (zh) | 2021-02-26 |
CN112419463B true CN112419463B (zh) | 2024-01-30 |
Family
ID=74830470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011401991.6A Active CN112419463B (zh) | 2020-12-04 | 2020-12-04 | 一种模型数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419463B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114494024B (zh) * | 2022-04-13 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377857A (zh) * | 2008-07-30 | 2009-03-04 | 电子科技大学 | 一种基于八叉树空间划分和顶点删除的三维模型简化方法 |
CN109658525A (zh) * | 2018-12-28 | 2019-04-19 | 北京金山安全软件有限公司 | 3d模型中冗余数据的清除方法、装置及电子设备 |
CN110363845A (zh) * | 2019-07-22 | 2019-10-22 | 南京聚润工程科技有限公司 | 一种bim三维模型分减面存储并重构的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8269775B2 (en) * | 2008-12-09 | 2012-09-18 | Qualcomm Incorporated | Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware |
-
2020
- 2020-12-04 CN CN202011401991.6A patent/CN112419463B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377857A (zh) * | 2008-07-30 | 2009-03-04 | 电子科技大学 | 一种基于八叉树空间划分和顶点删除的三维模型简化方法 |
CN109658525A (zh) * | 2018-12-28 | 2019-04-19 | 北京金山安全软件有限公司 | 3d模型中冗余数据的清除方法、装置及电子设备 |
CN110363845A (zh) * | 2019-07-22 | 2019-10-22 | 南京聚润工程科技有限公司 | 一种bim三维模型分减面存储并重构的方法及系统 |
Non-Patent Citations (1)
Title |
---|
虚拟环境中三维CAD模型数据优化及重组;张威巍等;地矿测绘;第24卷(03);第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112419463A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110368694B (zh) | 游戏场景的数据处理方法、装置、设备及可读存储介质 | |
DE102011011947A1 (de) | Kantenverarbeitungstechniken | |
US8188999B2 (en) | Method and apparatus for organizing object geometry for spatial and memory coherency and optimal rendering | |
CN108022269A (zh) | 一种GPU压缩纹理存储Cache的建模结构 | |
US11908039B2 (en) | Graphics rendering method and apparatus, and computer-readable storage medium | |
CN111279384B (zh) | 图形流水线中的索引的压缩和解压缩 | |
CN110363856B (zh) | 混合硬件 | |
CN109242967B (zh) | 一种三维地形渲染方法及装置 | |
CN114677473A (zh) | 三维模型的重建方法、装置、设备及存储介质 | |
US11694367B2 (en) | Compressing texture data on a per-channel basis | |
CN112419463B (zh) | 一种模型数据处理方法、装置、设备及可读存储介质 | |
CN116740248A (zh) | 图块分发的控制方法、芯片及装置、控制器、设备和介质 | |
CN113256755B (zh) | 图像的渲染方法、智能终端以及存储装置 | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
US11748010B2 (en) | Methods and systems for storing variable length data blocks in memory | |
US11978234B2 (en) | Method and apparatus of data compression | |
CN110838167B (zh) | 模型的渲染方法、装置和存储介质 | |
CN115049531B (zh) | 图像渲染方法、装置、图形处理设备及存储介质 | |
CN116993955A (zh) | 三维模型的重拓扑方法、装置、设备及存储介质 | |
CN114596195A (zh) | 一种地形数据处理方法、系统、装置及计算机存储介质 | |
CN113786616A (zh) | 一种间接光照实现方法、装置、存储介质及计算设备 | |
CN110384926B (zh) | 位置确定方法及装置 | |
US20230186523A1 (en) | Method and system for integrating compression | |
CN116467227B (zh) | Tmu系统和tmu系统的运算优化方法 | |
US20240212282A1 (en) | Image rendering method and apparatus, device, and medium |
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 |