CN110599581B - 图像模型数据处理方法、装置以及电子设备 - Google Patents
图像模型数据处理方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN110599581B CN110599581B CN201910810498.0A CN201910810498A CN110599581B CN 110599581 B CN110599581 B CN 110599581B CN 201910810498 A CN201910810498 A CN 201910810498A CN 110599581 B CN110599581 B CN 110599581B
- Authority
- CN
- China
- Prior art keywords
- data
- image
- image model
- model file
- file
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种图像模型数据处理方法、装置以及电子设备。所述方法包括:当进入所述图像模型文件加载场景时,加载经过预处理后的图像模型文件,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行;在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。在本方法中,对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种图像模型数据处理方法、装置以及电子设备。
背景技术
随着电子设备的显示技术的发展,更多的电子设备支持进行3D效果的显示。例如,电子设备可以基于OpenGL实现3D模型的加载显示。其中,基于OpenGL的3D模型的数据通常是存储在OBJ文件中的。但是,相关的OBJ文件的解析效率较低,进而对电子设备整体加载显示3D效果的效率造成不好的影响。
发明内容
鉴于上述问题,本申请提出了一种图像模型数据处理方法、装置以及电子设备,以改善上述问题。
第一方面,本申请提供了一种图像模型数据处理方法,其特征在于,应用于第一电子设备,所述方法包括:监测是否进入图像模型文件加载场景;当进入所述图像模型文件加载场景时,加载经过预处理后的图像模型文件,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行;在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
第二方面,本申请提供了一种图像模型数据处理方法,应用于第二电子设备,所述方法包括:所述第二电子设备获取待进行预处理的图像模型文件;对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据;将所述经过预处理的图像模型文件发送给第一电子设备,以用于所述第一电子设备直接加载所述经过预处理的图像模型文件中的目标数据后,将所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
第三方面,本申请提供了一种图像模型数据处理装置,运行于第一电子设备,所述装置包括:场景监测单元,用于监测是否进入图像模型文件加载场景;模型文件加载单元,用于当进入所述图像模型文件加载场景时,加载经过预处理后的图像模型文件,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行;图像渲染单元,用于在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
第四方面,本申请提供了一种图像模型数据处理装置,运行于第二电子设备,所述装置包括:模型文件获取单元,用于获取待进行预处理的图像模型文件;模型文件解析单元,用于对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;所述模型文件解析单元,还用于将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据;文件发送单元,用于将所述经过预处理的图像模型文件发送给第一电子设备,以用于所述第一电子设备直接加载所述经过预处理的图像模型文件中的目标数据后,将所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
第五方面,本申请提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现上述的方法。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的方法。
本申请提供的一种图像模型数据处理方法、装置以及电子设备,在当进入所述图像模型文件加载场景时,可以直接加载经过预处理后的图像模型文件,在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。而因为其中所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行,那么对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提出的一种图像模型数据处理方法的流程图;
图2示出了本申请另一实施例提出的一种图像模型数据处理方法的流程图;
图3示出了本申请另一实施例提出的一种图像模型数据处理方法的中第一电子设备加载多个子图像模型文件耗时的示意图;
图4示出了本申请再一实施例提出的一种图像模型数据处理方法的流程图;
图5示出了本申请再一实施例提出的一种图像模型数据处理方法中处于同一个局域网的电子设备的示意图;
图6示出了本申请又一实施例提出的一种图像模型数据处理方法的流程图;
图7示出了本申请实施例提出的一种图像模型数据处理装置的结构框图;
图8示出了本申请另一实施例提出的一种图像模型数据处理装置的结构框图;
图9示出了本申请再一实施例提出的一种图像模型数据处理装置的结构框图;
图10示出了本申请的用于执行根据本申请实施例的图像模型数据处理方法的电子设备的结构框图;
图11是本申请实施例的用于保存或者携带实现根据本申请实施例的图像模型数据处理方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着电子设备等终端技术的发展,更多的电子设备上可以进行3D动画效果的展示。例如,在一些应用程序的内部,会有一些3D动画效果的界面或者甚至一些控件也是会有3D动画效果。
而应用程序在显示3D动画效果的过程中需要加载图像模型文件,以对图像模型文件中的原始数据进行解析和转换得到最终进行图像渲染的模型所能直接识别的数据。以OpenGL ES为例,OpenGL(Open Graphics Library,开放式图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。在本申请中可以将OpenGL ES看做进行图像渲染的目标显示模型。ES即为OpenGL的一个三维API子集。
对应于OpenGL ES,图像模型文件可以为OBJ文件。OBJ文件是一种3D模型文件格式。由Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准,可以用于3D软件模型之间的互导。原始的内部内容主要为字符串类型的数据。在3D动画效果显示的过程中,OpenGL ES会将OBJ文件(内容为文本文件)一行一行字符串解析得到顶点坐标序列、纹理坐标序列、法向量序列及各个面由哪些上述序列的索引组成。然后再将上述数据按面的索引组合成新的数据传入OpenGL ES的着色器渲染以完成3D动画效果显示。
而发明人在研究中发现,电子设备在加载OBJ的时候需要将其文本内容一行一行的解析从而得到需要传入OpenGL ES的数据。而这一过程非常耗电子设备的CPU的处理资源,也比较消耗电子设备的电量。在一个示例性的实验中,如果一个OBJ文件大约有10万行数据,那么解析加载显示的时间约需11秒。因此,发明人提出了本申请中可以改善上述问题的图像模型数据处理方法、装置以及电子设备。在本申请实施例提供的方法中,因为其中所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行,那么对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。
下面将结合附图具体描述本申请的各实施例。
请参阅图1,本申请实施例提供的一种图像模型数据处理方法,应用于第一电子设备,所述方法包括:
步骤110:监测是否进入图像模型文件加载场景。
其中,作为一种方式,本实施例提供的图像模型数据处理方法可以由电子设备中的应用程序来执行。那么在这种方式下,该应用程序可以为用于进行3D动画效果播放的应用程序。也可以为其他类型的应用程序,但同时具备3D动画效果展示的功能,例如,可以为即时聊天类型的应用程序,在该即时聊天类型的应用程序中配置有界面用于播放其他好友发送的3D动画。
那么当本申请实施例提供的用于执行图像模型数据处理方法的应用程序启动后,该应用程序可以对当前的运行状态进行检测,以便实现监测是否进入图像模型文件加载场景。那么对于该执行图像模型数据处理方法的应用程序可以通过多种方式来触发监测是否进入图像模型文件加载场景,以及可以通过多种方式来监测是否进入图像模型文件加载场景。
其中,作为一种方式,对于用于进行3D动画效果播放的应用程序。可以在启动之后即可开始监测是否进入图像模型文件加载场景,进而在接收到用户触发的3D动画播放指令后,即可判定进入图像模型文件加载场景。作为另外一种方式,对于用于进行3D动画效果播放的应用程序可以配置一接口用于定期检测是否有其他应用程序的调用指令,进而实现监测是否进入图像模型文件加载场景。那么在这种方式下,当检测到接收到其他应用程序的调用指令,即可判定进入图像模型文件加载场景。
此外,对于为其他类型但同时具备3D动画效果展示的功能的应用程序,可以在检测到触发显示用于显示3D动画效果的界面时,判定进入图像模型文件加载场景。
步骤120:当进入所述图像模型文件加载场景时,加载经过预处理后的图像模型文件,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行。
需要说明的是,对于未经过预处理的图像模型文件,其中所存储的均为原始数据。可以理解的是,其中的原始数据为字符串类型的数据。虽然该字符串类型的数据本身也是表征的3D动画效果所展示的内容,例如,表征最终要展示的是一个3D的人物。但是,应用程序最终要将其所表征的内容展示出来,需要先进行一些列的处理,以便得到应用程序中所嵌入的目标显示模型所能识别的数据后,最终才能进行3D动画效果的展示。而在本申请实施例中,用于执行图像模型数据处理方法的应用程序所加载的图像模型文件为已经经过前述的一些列的处理(即为预处理)的图像模型文件。
步骤130:在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
可以理解的是,用于执行图像模型数据处理方法的应用程序在加载完成经过预处理后的图像模型文件后,就已经获取到了图像模型文件中的目标数据,然后即可将该目标数据输入到目标显示模型进行渲染。以OpenGL ES显示模型为例。用于执行图像模型数据处理方法的应用程序在获取到目标数据后,可以直接送入到OpenGL ES显示模型的着色器中进行渲染,进而实现显示最终的3D动画效果。
本申请提供的一种图像模型数据处理方法,在当进入所述图像模型文件加载场景时,可以直接加载经过预处理后的图像模型文件,在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。而因为其中所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行,那么对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。
请参阅图2,本申请实施例提供的一种图像模型数据处理方法,应用于第一电子设备,所述方法包括:
步骤210:监测是否进入图像模型文件加载场景。
步骤220:当进入所述图像模型文件加载场景时,分别启动不同的线程加载经过预处理后的多个子图像模型文件,所述预处理包括将原始的图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,将所述目标数据按照数据类型分别存储在多个子图像模型文件中,其中,所述预处理由所述第一电子设备以外的第二电子设备执行,所述多个子图像模型文件至少包括的顶点坐标类型图像数据、纹理类型图像数据以及法向量类型图像数据中的至少两种。
其中,对于多个子图像模型文件先进行下列说明。
在OpenGL ES显示模型进行图像的渲染、绘制过程中,需要用到顶点坐标、纹理坐标、法向量等信息,有时还会需要颜色信息等。那么对应的,原始的图像模型文件会存储某一个3D动画效果所对应的顶点坐标、纹理坐标、法向量等类型的数据,甚至是颜色信息等。而第二电子设备在对存储有原始数据的原始的图像模型文件进行解析时,会按照数据类型进行解析。
具体的,第二电子设备逐行读取原始的图像模型文件中的字符串类型的数据。然后,依据不同的字符串开头将该行解析为对应类型的数据。例如“v 0.0 10.5 0.5”等以v开头的解析为顶点坐标数据,而“vt 0.2 0.3 0.6”等以vt开头的解析为纹理坐标数据。其中,作为一种方式,第二电子设备中配置有多个列表,每个列表各自对应一个类型的数据。那么在这种方式下,第二电子设备在解析出某个类型的数据后,即可将解析出的数据存储到该类型的数据所对应的列表中。例如,对于解析出的顶点坐标数据,即可存储到顶点坐标列表中。而对于解析出的纹理坐标数据,即可存储到纹理坐标列表。而对于解析出的法向量类型的数据,即可存储到法向量列表。
其中,可以理解的是,整体的图像是由多个面构成的,例如由多个三角形面构成。而每个面又包括顶点、纹理以及法向量等类型的数据。而这几个类型的数据均为按照数组的形式进行排列。那么在这种方式下,在解析得到每个类型的数据,并将每个类型的数据存储到对应的列表后,可以基于三角形面的索引从前述的顶点坐标列表、纹理坐标列表及法向量列表中读取对应的数据分别放入对应数据的浮点型数组中。其中,可以理解的是,对于每一个类型的数据,可以单独配置一个浮点型数组。那么在这种方式下,对于顶点坐标列表,第二电子设备则可以将该顶点坐标列表中的数据,复制到顶点坐标数组中,将该纹理坐标列表中的数据,复制到纹理坐标数组中,将该法向量列表中的数据,复制到法向量数组中。而这里对于存储有不同类型数据的数组,则可以分别存储到不同的文件中,从而得到了多个子图像模型文件。
需要说明的是,前述内容中,所示出的顶点坐标数组、纹理坐标数组以及法向量数组仅仅是示例性的,在当原始的图像模型文件中有更多的类型的数据的情况下,第二电子设备也会按照前述的流程生成对应的浮点型数组,并进而生成对应的子图像模型文件。例如,对于其中的颜色类型的数据,也可以按照前述的方式生成颜色类型对应的子图像模型文件。
再者,在有多个子图像模型文件的情况下,若第一电子设备逐一对多个子图像模型文件进行加载,那么整体所消耗的时间为分别加载多个子图像模型文件的时间之和。例如,以多个子图像模型文件包括存储顶点坐标数组的文件、存储纹理坐标数组的文件以及存储法向量数组的文件为例。若存储顶点坐标数组的文件的加载耗时为t1,存储纹理坐标数组的文件的加载耗时为t2,存储法向量数组的文件的加载耗时为t3,那么加载总耗时为t1+t2+t3。而若在开启多线程加载的情况下,存储顶点坐标数组的文件、存储纹理坐标数组的文件以及存储法向量数组的文件可以各自并行进行加载,那么加载总耗时为t1、t2以及t3中最大的一个值,进而可以理解的是,t1、t2以及t3中最大的一个值是小于t1+t2+t3的,因此,通过多线程加载多个子图像模型文件可以减少整体的加载耗时。
需要说明的是,第一电子设备开启多线程进行文件加载的过程中,所开启的线程数越多,那么在一段时间内所消耗的处理资源越更多,进而会占用第一电子设备更多的处理资源。但是,在一种情况下,并不是绝对的所开启的线程数越多,整体的耗时就越低。可以理解的是,若某个文件中的数据量较大程度的大于另外的文件中的数据量,那么若每个文件都各自开启一个线程进行加载,那么对于其中数据量较小的文件即使在被加载完成后,依然需要等待数据量较大的文件被加载完成,进而造成即使开启了多个线程进行并行加载,并未很好的提升效率。
例如,如图3所示,多个子图像模型文件包括文件A、文件B以及文件C。而其中的文件A的加载耗时t4远远大于文件B的加载耗时t5以及文件C的加载耗时t6。那么在这种情况下,即使文件B和文件C已经被加载完成,依然需要等待文件A加载完成。可选的,在这种方式下,为了既可以提升整体的加载效率,又不会浪费更多的处理资源以用于支持更多的线程,第一电子设备可以在获取到多个子图像模型文件后,根据每个子图像模型文件的数据量预估每个子图像模型文件的加载耗时,若其中的若干个子图像模型文件的加载耗时之和与其中的目标子图像模型文件的加载耗时差值小于目标差值,即可不用增对每个子图像模型文件都配置一个线程进行加载。例如,若多个子图像模型文件的数量为N,而其中有M个子图像模型文件的加载耗时之和与其中的目标子图像模型文件的加载耗时差值小于目标差值,那么第一电子设备可以开启N-M+1个线程进行子图像模型文件的加载,而其中M个子图像模型文件由同一个线程进行加载。
需要说明的是,其中的目标子图像模型文件为对应的加载耗时最大的子图像模型文件。再者,对于子图像模型文件与加载耗时之间的对应关系,可以由第一电子设备统计历史加载过程进行统计得到。可选的,第一电子设备可以在加载之前先获取所要加载的图像模型文件(或者子图像模型文件)的数据量,然后在加载过程中进行计时,进而将计时得到的计时长度(即为加载耗时)与该数据量进行对应的存储,从而得到多个数据量与加载耗时之间的对应关系。当然,可选的,第一电子设备在计算加载耗时的过程中,还可以同时获取到计时过程中的处理资源占用度(例如,CPU占用率等),然后根据该处理资源占用度修正统计得到的加载耗时,得到最终的修正后的加载耗时。
步骤230:在所述加载完成后,将从所述多个子图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
本申请提供的一种图像模型数据处理方法,因为第一电子设备所加载的是经过预处理后的多个子图像模型文件,且因为其中所述预处理包括将原始的图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行,那么对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。并且,在有多个子图像模型文件的情况下,第一电子设备会开启多个线程进行加载,进而提升了加载的效率。
请参阅图4,本申请实施例提供的一种图像模型数据处理方法,应用于第一电子设备,所述方法包括:
步骤310:监测是否进入图像模型文件加载场景。
步骤320:当进入所述图像模型文件加载场景时,检测本地是否存储有所述预处理后的图像模型文件。
需要说明的是,第一电子设备中的图像模型文件的来源可以有多种,例如,可以为本地出厂是就配置有的,也可以有其他用户发送过出来的,也可以有直接从网络中下载得到的。那么对于不同来源的图像模型文件,可能并不是都已经经过了预处理的操作。那么在这种情况下,第一电子设备可以在进入所述图像模型文件加载场景时可以检测本地是否存储有所述预处理后的图像模型文件。
其中,这里所检测的图像模型文件为当前所需要执行的播放任务所对应的图像模型文件。可以理解的是,如前述内容所示,本申请实施例中的图像模型数据处理方法可以由第一电子设备的一应用程序来执行。而对于该应用程序可以执行响应于用户的选择,进而播放用户所选择的3D动画效果。例如,该应用程序中可以展示有关于人物的3D动画效果、关于动物的3D动画效果以及关于建筑物的3D动画效果。那么当该应用程序确定用户选择了关于人物的3D动画效果后,可以确定了当前的需要执行的播放任务为播放关于人物的3D动画效果,进而确定了对应的图像模型文件为关于人物的图像模型文件。那么在这种方式下,第一电子设备进而会检测本地是否存储有预处理后的关于人物的图像模型文件,从而实现检测需要执行的播放任务所对应的预处理后的图像模型文件。
在本申请实施例中,第一电子设备可以通过多种方式来检测本地是否存储有所述预处理后的图像模型文件。
其中,作为一种方式,可以通过文件的后缀名称来区分是否为经过预处理。例如,对于还未经过预处理的图像模型文件的后缀名可以为“.obj”,而对于已经经过预处理的图像模型文件的后缀名可以为“.tst”或者为“.vxyz”或者为“.nxyz”。
再者,作为另外一种方式,还可以通过配置的配置文件来检测本地是否存储有所述预处理后的图像模型文件。可选的,可以对每个图像模型文件配置一配置文件,用于存储对应的图像模型文件的配置信息。其中,配置信息可以包括是否有对应的预处理后的图像模型文件。那么在这种方式下,第一电子设备(或者其中的应用程序)可以通过查找每个图像模型文件的配置信息即可获取到是否存储有预处理后的图像模型文件。当然,还可以记录预处理后的图像模型文件的存储位置,以便可以直接加载。
步骤330:若有,加载经过预处理后的图像模型文件,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行。
步骤331:在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
步骤340:若无,解析未经过所述预处理的图像模型文件,以将所述未经过所述预处理的图像模型文件的原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,所述目标数据为浮点型数据。
步骤341:将所述未经过所述预处理的图像模型文件发送到所述第二电子设备,以用于所述第二电子设备对所述未经过所述预处理的图像模型文件进行所述预处理。
步骤342:接收所述第二电子设备返回的经过所述预处理的图像模型文件。
需要说明的是,在本实施例中第二电子设备可以为处于云端的服务器,也可以为与第一电子设备处于同一个局域网的其他的电子设备。例如,如图5所示,在图5中,第一电子设备97和第二电子设备96均处于无线截图设备99所承载的无线局域网内。那么在这种方式下,第二电子设备96中可以运行由进行预处理的程序,该进行预处理的程序配置有一接口,可以接收第一电子设备发送过来的预处理请求,以便第一电子设备将所述未经过所述预处理的图像模型文件发送到所述第二电子设备进行预处理。
本申请提供的一种图像模型数据处理方法,因为其中所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行,那么对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。并且,在当进入所述图像模型文件加载场景时,可以先检测是否有已经经过预处理的图像模型文件,进而再确定后续如何进行文件的加载,提升了图像显示过程中的灵活性。
请参阅图6,本申请实施例提供的一种图像模型数据处理方法,应用于第二电子设备,所述方法包括:
步骤410:所述第二电子设备获取待进行预处理的图像模型文件。
步骤420:对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据。
具体的,第二电子设备逐行读取原始的图像模型文件中的字符串类型的数据。然后,依据不同的字符串开头将该行解析为对应类型的数据。而这里的对应类型的数据即可以理解为指定类型的图像数据。
例如“v 0.0 10.5 0.5”等以v开头的解析为顶点坐标数据,而“vt 0.2 0.3 0.6”等以vt开头的解析为纹理坐标数据。而这里的顶点坐标数据、纹理坐标数据均为指定类型的图像数据。
步骤430:将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据。
其中,作为一种方式,第二电子设备中配置有多个列表,每个列表各自对应一个类型的数据。那么在这种方式下,第二电子设备在解析出某个类型的数据后,即可讲解析出的数据存储到该类型的数据所对应的列表中。例如,对于解析出的顶点坐标数据,即可存储到顶点坐标列表中。而对于解析出的纹理坐标数据,即可存储到纹理坐标列表。而对于解析出的法向量类型的数据,即可存储到法向量列表。
其中,可以理解的是,整体的图像是由多个面构成的,例如三角形面。而每个面又包括顶点、纹理以及法向量等类型的数据。而这几个类型的数据均为按照数组的形式进行排列。那么在这种方式下,在解析得到每个类型的数据,并将每个类型的数据存储到对应的列表后,可以基于三角形面的索引从前述的顶点坐标列表、纹理坐标列表及法向量列表中读取对应的数据分别放入对应数据的浮点型数组中。而这里的对于浮点型数组中的数据即为目标显示模型所能直接识别的目标数据。
步骤440:将所述经过预处理的图像模型文件发送给第一电子设备,以用于所述第一电子设备直接加载所述经过预处理的图像模型文件中的目标数据后,将所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
其中,作为一直方式,所述将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据的步骤之后还包括:将所述目标数据的存储格式转换为字节流类型。
需要说明的是,对于将所述目标数据的存储格式转换为字节流类型后,可以提升数据的加载效率。可以理解的是,若第二电子设备将所述目标数据的存储格式转换为字节流类型。那么第一电子设备在读取经过预处理后的图像模型文件时,所读取的即为字节流类型的目标数据。
需要说明的是,在本申请实施例中所提供的图像模型数据处理方法同样也适用于2D的动画效果显示过程。
本申请提供的一种图像模型数据处理方法,可以在获取到待进行预处理的图像模型文件后,对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据,然后将经过预处理的图像模型文件发送给第一电子设备,从而使得第一电子设备在当进入所述图像模型文件加载场景时,可以直接执行预处理后的图像模型文件,可以提升第一电子设备在显示图像(例如,3D动画效果)过程中的效率,同时也减轻了第一电子设备的功耗。
请参阅图7,本申请实施例提供的一种图像模型数据处理装置500,运行于第一电子设备,所述装置500包括:
场景监测单元510,用于监测是否进入图像模型文件加载场景。
模型文件加载单元520,用于当进入所述图像模型文件加载场景时,加载经过预处理后的图像模型文件,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行。
图像渲染单元530,用于在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
在一种方式中,所述处理后的图像模型文件包括多个子图像模型文件,且所述多个子图像模型文件至少包括的顶点坐标类型图像数据、纹理类型图像数据以及法向量类型图像数据中的至少两种。模型文件加载单元520,具体用于分别启动不同的线程加载所述多个子图像模型文件。
在一种方式中,如图8所示,所述装置还包括文件类型检测单元540,用于在加载经过预处理后的图像模型文件的步骤之前,检测本地是否存储有所述预处理后的图像模型文件。若文件类型检测单元540检测本地有所述预处理后的图像模型文件,模型文件加载单元520,用于当进入所述图像模型文件加载场景时,加载经过预处理后的图像模型文件。若文件类型检测单元540检测本地没有所述预处理后的图像模型文件,用于当进入所述图像模型文件加载场景时,解析未经过所述预处理的图像模型文件,以将所述未经过所述预处理的图像模型文件的原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,所述目标数据为浮点型数据。
在这种方式下,所述装置还包括文件类型转换单元550,用于将所述未经过所述预处理的图像模型文件发送到所述第二电子设备,以用于所述第二电子设备对所述未经过所述预处理的图像模型文件进行所述预处理;接收所述第二电子设备返回的经过所述预处理的图像模型文件。
可选的,所述目标显示模型为OpenGL ES显示模型,所述图像模型文件为OBJ文件。
请参阅图9,本申请实施例提供的一种图像模型数据处理装置600,运行于第二电子设备,所述装置600包括:
模型文件获取单元610,用于获取待进行预处理的图像模型文件。
模型文件解析单元620,用于对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据。
所述模型文件解析单元620,还用于将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据。
作为一种方式,所述模型文件解析单元620,还用于将所述目标数据的存储格式转换为字节流类型。
文件发送单元630,用于将所述经过预处理的图像模型文件发送给第一电子设备,以用于所述第一电子设备直接加载所述经过预处理的图像模型文件中的目标数据后,将所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
下面将结合图10对本申请提供的一种电子设备进行说明。
请参阅图10,基于上述的图像模型数据处理方法、装置,本申请实施例还提供的另一种可以执行前述图像模型数据处理方法的电子设备200。电子设备200包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104、以及网络模块106。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个用于处理数据的核。处理器102利用各种接口和线路连接整个电子设备200内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备200的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics ProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述网络模块106用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块106可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块106可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块106可以与基站进行信息交互。
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1100中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1100可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1100包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
本申请提供的一种图像模型数据处理方法、装置以及电子设备,在当进入所述图像模型文件加载场景时,可以直接加载经过预处理后的图像模型文件,在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。而因为其中所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行,那么对于第一电子设备在进行渲染以显示对应的图像的过程中不需要再次进行图像模型文件中的原始数据解析操作,进而可以降低第一电子设备的功耗,以及同时可以提升从进入图像模型文件加载场景到最终显示图像之间的耗时。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种图像模型数据处理方法,其特征在于,应用于第一电子设备,所述方法包括:
监测是否进入图像模型文件加载场景;
当进入所述图像模型文件加载场景时,分别启动不同的线程加载预处理后的图像模型文件包括的多个子图像模型文件,所述多个子图像模型文件至少包括的顶点坐标类型图像数据、纹理类型图像数据以及法向量类型图像数据中的至少两种,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行;
在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
2.根据权利要求1所述的方法,其特征在于,所述目标数据被所述第二电子设备转换为字节流类型存储在经过预处理后的图像模型文件中。
3.根据权利要求1所述的方法,其特征在于,所述分别启动不同的线程加载预处理后的图像模型文件包括的多个子图像模型文件的步骤之前还包括:
检测本地是否存储有所述预处理后的图像模型文件;
若有,执行所述加载经过预处理后的图像模型文件;
若无,解析未经过所述预处理的图像模型文件,以将所述未经过所述预处理的图像模型文件的原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,所述目标数据为浮点型数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若无,将所述未经过所述预处理的图像模型文件发送到所述第二电子设备,以用于所述第二电子设备对所述未经过所述预处理的图像模型文件进行所述预处理;
接收所述第二电子设备返回的经过所述预处理的图像模型文件。
5.根据权利要求1所述的方法,其特征在于,所述目标显示模型为OpenGL ES显示模型,所述图像模型文件为OBJ文件。
6.一种图像模型数据处理方法,其特征在于,应用于第二电子设备,所述方法包括:
所述第二电子设备获取待进行预处理的图像模型文件;
对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;
将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据,;
将所述经过预处理的图像模型文件发送给第一电子设备,以用于所述第一电子设备分别启动不同的线程加载所述预处理的图像模型文件包括的多个子图像模型文件,所述多个子图像模型文件至少包括的顶点坐标类型图像数据、纹理类型图像数据以及法向量类型图像数据中的至少两种,将多个子图像模型文件包括的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
7.根据权利要求6所述的方法,其特征在于,所述将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据的步骤之后还包括:
将所述目标数据的存储格式转换为字节流类型。
8.一种图像模型数据处理装置,其特征在于,运行于第一电子设备,所述装置包括:
场景监测单元,用于监测是否进入图像模型文件加载场景;
模型文件加载单元,用于当进入所述图像模型文件加载场景时,分别启动不同的线程加载预处理后的图像模型文件包括的多个子图像模型文件,所述多个子图像模型文件至少包括的顶点坐标类型图像数据、纹理类型图像数据以及法向量类型图像数据中的至少两种,所述预处理包括将所述图像模型文件中的原始数据处理为目标显示模型所能直接识别的目标数据,且所述预处理由所述第一电子设备以外的第二电子设备执行;
图像渲染单元,用于在所述加载完成后,将从所述图像模型文件中得到的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
9.一种图像模型数据处理装置,其特征在于,运行于第二电子设备,所述装置包括:
模型文件获取单元,用于获取待进行预处理的图像模型文件;
模型文件解析单元,用于对所述图像模型文件中的原始数据进行逐行解析,以将所述原始数据解析为指定类型的图像数据,所述原始数据为字符串类型的数据;
所述模型文件解析单元,还用于将所述指定类型的图像数据转换为目标显示模型所能直接识别的目标数据,得到经过预处理的图像模型文件,所述目标数据为浮点型数据;
文件发送单元,用于将所述经过预处理的图像模型文件发送给第一电子设备,以用于所述第一电子设备分别启动不同的线程加载所述预处理的图像模型文件包括的多个子图像模型文件,所述多个子图像模型文件至少包括的顶点坐标类型图像数据、纹理类型图像数据以及法向量类型图像数据中的至少两种,将多个子图像模型文件包括的,将多个子图像模型文件包括的所述目标数据输入到所述目标显示模型进行渲染以显示对应的图像。
10.一种电子设备,其特征在于,包括处理器以及存储器;
一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现权利要求1-5任一所述的方法或者行以实现权利要求6-7任一所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-5任一所述的方法或者执行权利要求6-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910810498.0A CN110599581B (zh) | 2019-08-29 | 2019-08-29 | 图像模型数据处理方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910810498.0A CN110599581B (zh) | 2019-08-29 | 2019-08-29 | 图像模型数据处理方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599581A CN110599581A (zh) | 2019-12-20 |
CN110599581B true CN110599581B (zh) | 2023-03-31 |
Family
ID=68856416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910810498.0A Active CN110599581B (zh) | 2019-08-29 | 2019-08-29 | 图像模型数据处理方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599581B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385559A (zh) * | 2020-10-19 | 2022-04-22 | Oppo广东移动通信有限公司 | 文件处理方法、装置、电子设备和存储介质 |
CN113435454B (zh) * | 2021-05-21 | 2023-07-25 | 厦门紫光展锐科技有限公司 | 一种数据处理方法、装置及设备 |
CN113744412A (zh) * | 2021-08-16 | 2021-12-03 | 长沙眸瑞网络科技有限公司 | 一种处理3d模型数据的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310475A (zh) * | 2012-03-16 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 动画播放方法及装置 |
CN106997610A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种图像渲染方法、装置及电子设备 |
US9928637B1 (en) * | 2016-03-08 | 2018-03-27 | Amazon Technologies, Inc. | Managing rendering targets for graphics processing units |
CN109218802A (zh) * | 2018-08-23 | 2019-01-15 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及计算机可读介质 |
CN109242802A (zh) * | 2018-09-28 | 2019-01-18 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备及计算机可读介质 |
CN109948581A (zh) * | 2019-03-28 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 图文渲染方法、装置、设备及可读存储介质 |
-
2019
- 2019-08-29 CN CN201910810498.0A patent/CN110599581B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310475A (zh) * | 2012-03-16 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 动画播放方法及装置 |
CN106997610A (zh) * | 2016-01-26 | 2017-08-01 | 阿里巴巴集团控股有限公司 | 一种图像渲染方法、装置及电子设备 |
US9928637B1 (en) * | 2016-03-08 | 2018-03-27 | Amazon Technologies, Inc. | Managing rendering targets for graphics processing units |
CN109218802A (zh) * | 2018-08-23 | 2019-01-15 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及计算机可读介质 |
CN109242802A (zh) * | 2018-09-28 | 2019-01-18 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备及计算机可读介质 |
CN109948581A (zh) * | 2019-03-28 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 图文渲染方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于OGRE的大规模场景核外渲染的研究;王全占等;《成都电子机械高等专科学校学报》;20110325(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110599581A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210608B2 (en) | Method and apparatus for generating model, method and apparatus for recognizing information | |
CN110599581B (zh) | 图像模型数据处理方法、装置以及电子设备 | |
CN109309842B (zh) | 直播数据处理方法和装置、计算机设备和存储介质 | |
CN110716848A (zh) | 数据收集方法、装置、电子设备及存储介质 | |
CN109684008A (zh) | 卡片渲染方法、装置、终端及计算机可读存储介质 | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
CN112732628A (zh) | 核间数据处理方法、系统、片上系统以及电子设备 | |
CN114868119A (zh) | 信息推送方法、装置、服务器及存储介质 | |
CN111182332B (zh) | 视频处理方法、装置、服务器及存储介质 | |
CN109302523B (zh) | 一种手机端和服务器端手机性能评估方法 | |
CN110276404B (zh) | 模型训练方法、装置及存储介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN112068965A (zh) | 数据处理方法、装置、电子设备和可读存储介质 | |
US20220415046A1 (en) | Method for determining video coding test sequence, electronic device and computer storage medium | |
CN114443306A (zh) | 资源处理方法、装置、电子设备及计算机可读存储介质 | |
CN112862073B (zh) | 一种压缩数据分析方法、装置、存储介质及终端 | |
CN112487223A (zh) | 图像处理方法、装置以及电子设备 | |
CN111813529A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112256354A (zh) | 应用启动方法、装置、存储介质及电子设备 | |
CN113031955A (zh) | 应用程序预编译的方法、装置以及电子设备 | |
CN113900734B (zh) | 一种应用程序文件配置方法、装置、设备及存储介质 | |
CN111163138B (zh) | 一种降低游戏期间网络负载的方法、装置和服务器 | |
US9066071B2 (en) | Method and apparatus for providing screen data | |
CN116204201B (zh) | 业务处理方法和装置 | |
CN114860447A (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 |