CN110888637A - 顶点属性处理方法、装置、设备及计算机可读存储介质 - Google Patents
顶点属性处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110888637A CN110888637A CN201810933615.8A CN201810933615A CN110888637A CN 110888637 A CN110888637 A CN 110888637A CN 201810933615 A CN201810933615 A CN 201810933615A CN 110888637 A CN110888637 A CN 110888637A
- Authority
- CN
- China
- Prior art keywords
- vertex
- attribute
- rendering
- list
- target object
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Abstract
本发明提供一种顶点属性处理方法、装置、设备及计算机可读存储介质。该方法包括:接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表。本发明的方法,通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
Description
技术领域
本发明涉及开放图形库技术领域,尤其涉及一种顶点属性处理方法、装置、设备及计算机可读存储介质。
背景技术
在计算机图形学中,图形由多个顶点组成,每个顶点具有不同的属性,例如顶点位置、顶点颜色以及顶点的法向量等。应用程序通过调用开放图形库(Open GraphicsLibrary,简称OpenGL)的显示列表中的函数来组织顶点的属性,并将顶点的属性发送给图形处理器(Graphics Processing Unit,简称GPU),由GPU根据顶点的属性进行渲染并显示该图形。
图形的顶点属性包括2D属性和3D属性。目前OpenGL中将2D属性和3D属性分别存储在不同的顶点属性列表中。在需要对图像同时进行2D和3D渲染时,对图形进行2D渲染之前,创建该图形对应的2D顶点属性列表;对图形进行3D渲染之前,创建该图形对应的3D顶点属性列表,OpenGL的运行效率低。
发明内容
本发明提供一种顶点属性处理方法、装置、设备及计算机可读存储介质,用以解决在需要对图像同时进行2D和3D渲染时,对图形进行2D渲染之前,创建该图形对应的2D顶点属性列表;对图形进行3D渲染之前,创建该图形对应的3D顶点属性列表,OpenGL的运行效率低的问题。
本发明的一个方面是提供一种顶点属性处理方法,包括:
接收待渲染的目标对象对应的顶点列表;
在对所述目标对象进行第一类渲染时,通过第一应用程序根据所述顶点列表创建顶点属性列表;
在对所述目标对象进行第二类渲染时,通过第二应用程序复用所述顶点属性列表。
本发明的另一个方面是提供一种顶点属性处理装置,包括:
接收模块,用于接收待渲染的目标对象对应的顶点列表;
第一处理模块,用于在对所述目标对象进行第一类渲染时,通过第一应用程序根据所述顶点列表创建顶点属性列表;
第二处理模块,用于在对所述目标对象进行第二类渲染时,通过第二应用程序复用所述顶点属性列表。
本发明的另一个方面是提供一种顶点属性处理设备,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述处理器运行所述计算机程序时实现上述所述的方法。
本发明的另一个方面是提供一种计算机可读存储介质,存储有计算机程序,
所述计算机程序被处理器执行时实现上述所述的方法。
本发明提供的顶点属性处理方法、装置、设备及计算机可读存储介质,通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
附图说明
图1为本发明实施例一提供的顶点属性处理方法流程图;
图2为本发明实施例二提供的顶点属性处理方法流程图;
图3为本发明实施例三提供的顶点属性处理装置;
图4为本发明实施例五提供的顶点属性处理设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
开放图形库(Open Graphics Library,简称OpenGL):是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像或者二维图像,是一个调用方便的底层图形库。在OpenGL ES 3程序中,着色器(Shader)和应用程序(Program)是两个重要的概念,至少需要创建一个顶点Shader对象、一个片段Shader对象和一个Program对象,才能用着色器进行渲染。
着色器(Shader):是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。
应用程序:在本发明的实施例中,应用程序是指OpenGL、或者OpenGL ES中的Program对象。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图1为本发明实施例一提供的顶点属性处理方法流程图。本发明实施例针对在需要对图像同时进行2D和3D渲染时,对图形进行2D渲染之前,创建该图形对应的2D顶点属性列表;对图形进行3D渲染之前,创建该图形对应的3D顶点属性列表,OpenGL的运行效率低的问题,提供了顶点属性处理方法。如图1,该方法具体步骤如下:
步骤S101、接收待渲染的目标对象对应的顶点列表。
其中,目标对象是指待渲染的对象。例如,目标对象可以是图形对象等。
在实际应用中,在对待渲染的目标对象进行渲染之前,首选需要接收目标对象的顶点列表。
步骤S102、在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表。
本实施例中,可以对目标对象进行2D渲染或者3D渲染等多种不同类型的渲染。
其中,第一类渲染可以为对目标对象进行的任意一种渲染。顶点属性列表包括目标对象的每个顶点属性的顶点属性名称及对应的属性索引。
该步骤中,通过第一应用程序根据顶点列表创建的顶点属性列表,同时包括与第一类渲染相关的顶点属性和与第二类渲染相关的顶点属性,以及对应的属性索引。
例如,在同时需要对一个图形对象进行2D渲染和3D渲染时,首选进行2D渲染时,第一应用程序根据该图形对象的顶点列表创建的顶点属性列表中同时包括2D顶点属性和3D顶点属性及其属性索引。
在实际应用中,OpenGL在渲染任何图形前需要编译至少一个顶点着色器和一个片段着色器。通常从Shader的创建到Program的链接通常包括以下六个基本步骤:创建Shader、加载Shader源码、编译Shader、创建Program、绑定Program与Shader、以及链接Program。通常,通过调用LinkProgram函数来实现链接应用程序。
在链接应用程序之前,应用程序通过调用glBindAttribLocation函数将顶点属性索引绑定到顶点着色器的一个属性变量,也即是应用程序通过调用glBindAttribLocation函数把“顶点属性索引”绑定到“顶点属性名称”。
在应用程序中,一般使用glBindAttribLocation函数来绑定每个顶点属性名称对应的属性索引,也即是绑定每个顶点属性变量的位置,然后用函数glVertexAttribPointer函数为每个顶点属性变量赋值。
步骤S103、在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表。
其中,第二类渲染可以为对目标对象进行的任意一种渲染,第二类渲染与第一类渲染为对目标对象进行的不同类型的渲染。
例如,第一类渲染为对目标对象的2D渲染,第二类渲染为对目标对象的3D渲染;或者,第一类渲染为对目标对象的3D渲染,第一类渲染为对目标对象的2D渲染。
在对该目标对象进行第一类渲染时,通过第一应用程序已经创建了包括同时包括与第一类渲染相关的顶点属性和与第二类渲染相关的顶点属性以及对应的属性索引的顶点属性列表,因此,在对该目标对象进行第二类渲染时,无需再次创建对应于第二类渲染的顶点属性的顶点属性列表,直接复用上述步骤S102中通过第一应用程序创建的顶点属性列表。
本发明实施例通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
实施例二
图2为本发明实施例二提供的顶点属性处理方法流程图。在上述实施例一的基础上,本实施例中,在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表之后,还包括:在链接第一应用程序时,检查顶点属性列表中的顶点属性名称是否绑定了属性索引;若顶点属性列表中存在未绑定属性索引的顶点属性名称,则为未绑定属性索引的顶点属性名称分配唯一的属性索引。在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表之后,还包括:在链接第二应用程序时,检查顶点属性列表中的顶点属性名称是否绑定了属性索引;若顶点属性列表中存在未绑定属性索引的顶点属性名称,则为未绑定属性索引的顶点属性名称分配唯一的属性索引。如图2所示,该方法具体步骤如下:
步骤S201、接收待渲染的目标对象对应的顶点列表。
其中,目标对象是指待渲染的对象。例如,目标对象可以是图形对象等。
在实际应用中,在对待渲染的目标对象进行渲染之前,首选需要接收目标对象的顶点列表。
步骤S202、在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表。
本实施例中,可以对目标对象进行2D渲染或者3D渲染等多种不同类型的渲染。
其中,第一类渲染可以为对目标对象进行的任意一种渲染。顶点属性列表包括目标对象的每个顶点属性的顶点属性名称及对应的属性索引。
该步骤中,通过第一应用程序根据顶点列表创建的顶点属性列表,同时包括与第一类渲染相关的顶点属性和与第二类渲染相关的顶点属性,以及对应的属性索引。
例如,在同时需要对一个图形对象进行2D渲染和3D渲染时,首选对图形对象进行2D渲染时,第一应用程序根据该图形对象的顶点列表创建的顶点属性列表中同时包括2D顶点属性和3D顶点属性及其属性索引。
在实际应用中,OpenGL在渲染任何图形前需要编译至少一个顶点着色器和一个片段着色器。通常从Shader的创建到Program的链接通常包括以下六个基本步骤:创建Shader、加载Shader源码、编译Shader、创建Program、绑定Program与Shader、以及链接Program。通常,通过调用LinkProgram函数来实现链接应用程序。
在链接应用程序之前,应用程序通过调用glBindAttribLocation函数将顶点属性索引绑定到顶点着色器的一个属性变量,也即是应用程序通过调用glBindAttribLocation函数把“顶点属性索引”绑定到“顶点属性名称”。
在应用程序中,一般使用glBindAttribLocation函数来绑定每个顶点属性名称对应的属性索引,也即是绑定每个顶点属性变量的位置,然后用函数glVertexAttribPointer函数为每个顶点属性变量赋值。
步骤S203、在链接第一应用程序时,检查顶点属性列表中的顶点属性名称是否绑定了属性索引。
本实施例中,在链接第一应用程序时,依次检查顶点属性列表中的每一个顶点属性名称是否通过glBindAttribLocation函数绑定了属性索引;若顶点属性名称已经绑定了属性索引,则可以直接使用该已经绑定的属性索引;若顶点属性名称未绑定属性索引,则执行后续步骤S204,为未绑定属性索引的顶点属性名称分配一个属性索引。
步骤S204、若顶点属性列表中存在未绑定属性索引的顶点属性名称,则为未绑定属性索引的顶点属性名称分配唯一的属性索引。
若顶点属性列表中存在未绑定属性索引的顶点属性名称,无论当前未绑定属性索引的顶点属性名称对应的顶点属性为2D属性还是3D属性,均为该未绑定属性索引的顶点属性名称分配一个唯一的属性索引。
其中,为未绑定属性索引的顶点属性名称分配的属性索引与其他已有的属性索引均不相同,以保证每个顶点属性名称绑定的属性索引唯一。
步骤S205、在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表。
其中,第二类渲染可以为对目标对象进行的任意一种渲染,第二类渲染与第一类渲染为对目标对象进行的不同类型的渲染。例如,第一类渲染为对目标对象的2D渲染,第二类渲染为对目标对象的3D渲染;或者,第一类渲染为对目标对象的3D渲染,第一类渲染为对目标对象的2D渲染。
在对该目标对象进行第一类渲染时,通过第一应用程序已经创建了包括同时包括与第一类渲染相关的顶点属性和与第二类渲染相关的顶点属性以及对应的属性索引的顶点属性列表,因此,在对该目标对象进行第二类渲染时,无需再次创建对应于第二类渲染的顶点属性的顶点属性列表,直接复用上述步骤S202中通过第一应用程序创建的顶点属性列表。
例如,基于上述步骤S202中的举例,在同时需要对一个图形对象进行2D渲染和3D渲染时,首选对图像对象进行2D渲染时,第一应用程序根据该图形对象的顶点列表创建的顶点属性列表中同时包括2D顶点属性和3D顶点属性及其属性索引;然后再对该图形对象进行3D渲染时,第二应用程序复用该顶点属性列表。
在链接应用程序之前,应用程序通过调用glBindAttribLocation函数将顶点属性索引绑定到顶点着色器的一个属性变量,也即是应用程序通过调用glBindAttribLocation函数把“顶点属性索引”绑定到“顶点属性名称”。
步骤S206、在链接第二应用程序时,检查顶点属性列表中的顶点属性名称是否绑定了属性索引。
本实施例中,第二应用程序复用第一应用程序对目标对象进行第一类型渲染时创建的顶点属性列表。在链接第二应用程序时,还可以依次检查顶点属性列表中的每一个顶点属性名称是否通过glBindAttribLocation函数绑定了属性索引;若顶点属性名称已经绑定了属性索引,则可以直接使用该已经绑定的属性索引;若顶点属性名称未绑定属性索引,则执行后续步骤S207,为未绑定属性索引的顶点属性名称分配一个属性索引。
步骤S207、若顶点属性列表中存在未绑定属性索引的顶点属性名称,则为未绑定属性索引的顶点属性名称分配唯一的属性索引。
若顶点属性列表中存在未绑定属性索引的顶点属性名称,无论当前未绑定属性索引的顶点属性名称对应的顶点属性为2D属性还是3D属性,均为该未绑定属性索引的顶点属性名称分配一个唯一的属性索引。
其中,为未绑定属性索引的顶点属性名称分配的属性索引与其他已有的属性索引均不相同,以保证每个顶点属性名称绑定的属性索引唯一。
该步骤S206-S207为可选步骤,由于在链接第一应用程序时,以及对目标对象对应的顶点属性列表中所有的顶点属性名称分配了属性索引,因此,当再次对该目标对象进行第二类型渲染时,在链接第二应用程序时,可以直接复用该顶点属性列表,可以减少顶点属性列表的维护开销。
本发明实施例通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在链接第一应用程序时,检查顶点属性列表中的顶点属性名称是否绑定了属性索引;若顶点属性列表中存在未绑定属性索引的顶点属性名称,则为未绑定属性索引的顶点属性名称分配唯一的属性索引;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
实施例三
图3为本发明实施例三提供的顶点属性处理装置的结构示意图。本发明实施例提供的顶点属性处理装置可以执行顶点属性处理方法实施例提供的处理流程。如图3所示,该装置30包括:接收模块301,第一处理模块302和第二处理模块303。
具体地,接收模块301,用于接收待渲染的目标对象对应的顶点列表。
第一处理模块302用于在对所述目标对象进行第一类渲染时,通过第一应用程序根据所述顶点列表创建顶点属性列表。
第二处理模块303用于在对所述目标对象进行第二类渲染时,通过第二应用程序复用所述顶点属性列表。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
实施例四
在上述实施例三的基础上,本实施例中,所述顶点属性列表包括所述目标对象的每个顶点属性的顶点属性名称及对应的属性索引。
可选的,所述第一处理模块还用于:
在链接所述第一应用程序时,检查所述顶点属性列表中的顶点属性名称是否绑定了属性索引;若所述顶点属性列表中存在未绑定属性索引的顶点属性名称,则为所述未绑定属性索引的顶点属性名称分配唯一的属性索引。
所述第二处理模块还用于:
在链接所述第二应用程序时,检查所述顶点属性列表中的顶点属性名称是否绑定了属性索引;若所述顶点属性列表中存在未绑定属性索引的顶点属性名称,则为所述未绑定属性索引的顶点属性名称分配唯一的属性索引。
可选的,对所述目标对象进行的渲染至少包括以下类型:2D渲染和3D渲染。
其中,所述第一类渲染与所述第二类渲染为不同类型的渲染。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在链接第一应用程序时,检查顶点属性列表中的顶点属性名称是否绑定了属性索引;若顶点属性列表中存在未绑定属性索引的顶点属性名称,则为未绑定属性索引的顶点属性名称分配唯一的属性索引;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
实施例五
图4为本发明实施例五提供的顶点属性处理设备的结构示意图。如图4所示,该顶点属性处理设备40包括:处理器401,存储器402,以及存储在所述存储器402上并可由所述处理器401执行的计算机程序。
所述处理器401在执行存储在所述存储器402上的计算机程序时实现上述任一方法实施例提供的顶点属性处理方法。
本发明实施例通过接收待渲染的目标对象对应的顶点列表;在对目标对象进行第一类渲染时,通过第一应用程序根据顶点列表创建顶点属性列表;在对目标对象进行第二类渲染时,通过第二应用程序复用顶点属性列表,可以实现在同时对目标对象进行多种类型的渲染时,只需创建一次目标对象对应的顶层属性列表,减少了顶点属性列表的维护开销,提高了OpenGL的渲染效率。
另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例提供的顶点属性处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种顶点属性处理方法,其特征在于,包括:
接收待渲染的目标对象对应的顶点列表;
在对所述目标对象进行第一类渲染时,通过第一应用程序根据所述顶点列表创建顶点属性列表;
在对所述目标对象进行第二类渲染时,通过第二应用程序复用所述顶点属性列表。
2.根据权利要求1所述的方法,其特征在于,所述顶点属性列表包括所述目标对象的每个顶点属性的顶点属性名称及对应的属性索引。
3.根据权利要求2所述的方法,其特征在于,所述在对所述目标对象进行第一类渲染时,通过第一应用程序根据所述顶点列表创建顶点属性列表之后,还包括:
在链接所述第一应用程序时,检查所述顶点属性列表中的顶点属性名称是否绑定了属性索引;
若所述顶点属性列表中存在未绑定属性索引的顶点属性名称,则为所述未绑定属性索引的顶点属性名称分配唯一的属性索引。
4.根据权利要求2或3所述的方法,其特征在于,在对所述目标对象进行第二类渲染时,通过第二应用程序复用所述顶点属性列表之后,还包括:
在链接所述第二应用程序时,检查所述顶点属性列表中的顶点属性名称是否绑定了属性索引;
若所述顶点属性列表中存在未绑定属性索引的顶点属性名称,则为所述未绑定属性索引的顶点属性名称分配唯一的属性索引。
5.根据权利要求1所述的方法,其特征在于,对所述目标对象进行的渲染至少包括以下类型:2D渲染和3D渲染;
所述第一类渲染与所述第二类渲染为不同类型的渲染。
6.一种顶点属性处理装置,其特征在于,包括:
接收模块,用于接收待渲染的目标对象对应的顶点列表;
第一处理模块,用于在对所述目标对象进行第一类渲染时,通过第一应用程序根据所述顶点列表创建顶点属性列表;
第二处理模块,用于在对所述目标对象进行第二类渲染时,通过第二应用程序复用所述顶点属性列表。
7.根据权利要求6所述的装置,其特征在于,所述顶点属性列表包括所述目标对象的每个顶点属性的顶点属性名称及对应的属性索引。
8.根据权利要求7所述的装置,其特征在于,所述第一处理模块还用于:
在链接所述第一应用程序时,检查所述顶点属性列表中的顶点属性名称是否绑定了属性索引;
若所述顶点属性列表中存在未绑定属性索引的顶点属性名称,则为所述未绑定属性索引的顶点属性名称分配唯一的属性索引。
9.根据权利要求7或8所述的装置,其特征在于,所述第二处理模块还用于:
在链接所述第二应用程序时,检查所述顶点属性列表中的顶点属性名称是否绑定了属性索引;
若所述顶点属性列表中存在未绑定属性索引的顶点属性名称,则为所述未绑定属性索引的顶点属性名称分配唯一的属性索引。
10.根据权利要求6所述的装置,其特征在于,对所述目标对象进行的渲染至少包括以下类型:2D渲染和3D渲染;
所述第一类渲染与所述第二类渲染为不同类型的渲染。
11.一种顶点属性处理设备,其特征在于,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述处理器运行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,存储有计算机程序,
所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810933615.8A CN110888637B (zh) | 2018-08-16 | 2018-08-16 | 顶点属性处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810933615.8A CN110888637B (zh) | 2018-08-16 | 2018-08-16 | 顶点属性处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110888637A true CN110888637A (zh) | 2020-03-17 |
CN110888637B CN110888637B (zh) | 2023-09-26 |
Family
ID=69744142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810933615.8A Active CN110888637B (zh) | 2018-08-16 | 2018-08-16 | 顶点属性处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110888637B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030011592A1 (en) * | 2001-04-27 | 2003-01-16 | Stmicroelectronics Limited | Index processor |
CN103268626A (zh) * | 2013-04-11 | 2013-08-28 | 江苏省在这里数字科技有限公司 | 基于gpu的地图线形符号绘制方法及系统 |
CN103999044A (zh) * | 2011-12-14 | 2014-08-20 | 英特尔公司 | 用于多遍渲染的技术 |
CN107885597A (zh) * | 2017-09-19 | 2018-04-06 | 浙江科澜信息技术有限公司 | 一种图形渲染资源的管理方法 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
-
2018
- 2018-08-16 CN CN201810933615.8A patent/CN110888637B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030011592A1 (en) * | 2001-04-27 | 2003-01-16 | Stmicroelectronics Limited | Index processor |
CN103999044A (zh) * | 2011-12-14 | 2014-08-20 | 英特尔公司 | 用于多遍渲染的技术 |
CN103268626A (zh) * | 2013-04-11 | 2013-08-28 | 江苏省在这里数字科技有限公司 | 基于gpu的地图线形符号绘制方法及系统 |
CN107885597A (zh) * | 2017-09-19 | 2018-04-06 | 浙江科澜信息技术有限公司 | 一种图形渲染资源的管理方法 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110888637B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3159849B1 (en) | Systems and methods for using an opengl api with a vulkan graphics driver | |
US20200057613A1 (en) | Method and system of a command buffer between a cpu and gpu | |
WO2020038441A1 (zh) | 地图渲染方法、装置、计算机设备及存储介质 | |
CN109697060B (zh) | 视频特效系统及其生成方法、装置、设备和存储介质 | |
CN105159761B (zh) | 用于在多处理器上进行数据并行计算的应用编程接口 | |
US9349154B2 (en) | Bindless texture and image API | |
CN111408138B (zh) | 基于游戏引擎的渲染方法、装置及电子设备 | |
US9495722B2 (en) | Developer controlled layout | |
US9355464B2 (en) | Dynamic generation of texture atlases | |
US11900088B2 (en) | Method for generating a binding between a C/C++ library and an interpreted language, and carrying out the method to transform a three- dimensional (3D) model | |
US7701459B1 (en) | Primitive oriented assembly for parallel vertex/geometry processing | |
CN101802789A (zh) | 多处理器上的并行运行时执行 | |
CN105528207A (zh) | 一种虚拟现实系统及其中显示安卓应用图像的方法和装置 | |
US9886735B2 (en) | Hybrid engine for central processing unit and graphics processor | |
AU2016304864B2 (en) | Virtualizing graphics processing in a provider network | |
CN105701854B (zh) | 一种3d渲染方法、装置及引擎 | |
JPH10111858A (ja) | グラフィクス・パイプラインを並列化する方法及び装置 | |
CN113204412A (zh) | 用于任务调度的方法、电子设备和计算机存储介质 | |
CN117058288A (zh) | 图形处理器及方法、多核图形处理系统、电子装置及设备 | |
CN112785676B (zh) | 一种图像渲染方法、装置、设备和存储介质 | |
CN105975329A (zh) | 一种虚拟机的创建方法和装置 | |
CN110888637B (zh) | 顶点属性处理方法、装置、设备及计算机可读存储介质 | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
CN114247138B (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN105843603A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |