CN115049531B - 图像渲染方法、装置、图形处理设备及存储介质 - Google Patents
图像渲染方法、装置、图形处理设备及存储介质 Download PDFInfo
- Publication number
- CN115049531B CN115049531B CN202210964529.XA CN202210964529A CN115049531B CN 115049531 B CN115049531 B CN 115049531B CN 202210964529 A CN202210964529 A CN 202210964529A CN 115049531 B CN115049531 B CN 115049531B
- Authority
- CN
- China
- Prior art keywords
- image
- binning
- primitive
- sequence
- preset
- 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
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- 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/62—Semi-transparency
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
本申请公开了一种图像渲染方法、装置、图形处理设备及存储介质,包括:获取待处理的图像数据;对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;获取由所述渲染后的图像区块所构成的渲染图像。因此,本方法可以减少了存储所占用的数据空间,并且提高图像渲染的效率。
Description
技术领域
本申请涉及图像渲染技术领域,具体涉及一种图像渲染方法、装置、图形处理设备及存储介质。
背景技术
GPU(Graphics Processing Unit)是用于处理并显示计算机化的图形的专用图形再现装置。以高度并行的结构来建构GPU,所述结构针对一系列复杂算法提供比典型通用中央处理单元(CPU)更有效的处理。举例来说,所述复杂算法可对应于二维(2D)或三维(3D)计算机化的图形的表示。
在进行图像渲染时,为了保证Alpha Blending算法的正常运行,需要保持待渲染图像中图元的原始API调用顺序,然而,目前的图像渲染技术通过建立索引表,或者通过排序算法的方式实现,因此图像渲染的算力负荷较高,渲染效率较低。
发明内容
本申请提供一种图像渲染方法、装置、图形处理设备及存储介质,旨在解决目前的图像渲染方法不准确的问题。
第一方面,本申请提供一种图像渲染方法,包括:
获取待处理的图像数据;
对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;
将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;
获取由所述渲染后的图像区块所构成的渲染图像。
在本申请的一种可能的实现方式中,所述将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块,包括:
分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元;
按照各所述分箱结果的序列位置顺序,依次将关联的预设图元作为目标图元,根据所述目标图元关联的分箱结果判断所述目标图元是否为待渲染图元,若所述目标图元为待渲染图元,则对所述待渲染图元进行渲染,直至各所述分箱结果关联的预设图元均判断完毕,得到渲染后的图像区块。
在本申请的一种可能的实现方式中,所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元之前,还包括:
根据各所述序列位置中的分箱结果,更新所述图像区块对应的全局图元表,其中,所述全局图元表中包含所述图像区块中各所述预设图元的分箱进程信息;
查询所述全局图元表中各所述预设图元的分箱进程信息,若各所述预设图元均分箱完成,则判定分箱处理结束,执行所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元的步骤。
在本申请的一种可能的实现方式中,所述图像渲染方法应用于图形处理装置中,所述图形处理装置包括图形处理模块和分箱模块,所述图元信息序列存储于所述分箱模块中,所述全局图元表存储于所述图形处理模块中。
在本申请的一种可能的实现方式中,所述根据各所述序列位置中的分箱结果,更新预设的全局图元表之前,所述方法还包括:
根据所述图像数据中各预设图元的数量,构建预设的全局图元表。
在本申请的一种可能的实现方式中,各所述分箱结果以比特值的形式记录在对应的序列位置中。
在本申请的一种可能的实现方式中,所述对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果之前,还包括:
获取待处理的图像数据;
根据所述图像数据的数据量,确定待划分的图像区块数量;
根据所述图像区块数量,对所述图像数据对应的图像进行分块处理,得到所述图像数据对应的图像区块。
在本申请的一种可能的实现方式中,所述图像区块有多个,
所述将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块,包括:
查询得到各所述图像区块对应的光栅化模块;
分别调用各所述图像区块对应的光栅化模块,将各所述图像区块对应的分箱结果的序列位置顺序作为渲染顺序,对各所述图像区块进行并行渲染,得到各渲染后的图像区块。
在本申请的一种可能的实现方式中,所述对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果,包括:
获取所述图像数据对应的图像区块,以及所述图像数据中的各预设图元;
对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置;
在各所述预设图元对应的序列位置中,记录各所述预设图元的分箱结果。
在本申请的一种可能的实现方式中,所述对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置,包括:
根据所述图像区块对应的位置范围和各所述预设图元的图元位置,对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置。
在本申请的一种可能的实现方式中,所述图像区块有多个,
所述对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置之前,还包括:
从每个图像区块对应的分箱模块的数据库中,读取得到所述每个图像区块对应的目标图元信息序列。
第二方面,本申请提供一种图像渲染装置,包括:
第一获取单元,用于获取待处理的图像数据;
分箱单元,用于对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;
渲染单元,用于将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;
第二获取单元,用于获取由所述渲染后的图像区块所构成的渲染图像。
在本申请的一种可能的实现方式中,渲染单元还用于:
分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元;
按照各所述分箱结果的序列位置顺序,依次将关联的预设图元作为目标图元,根据所述目标图元关联的分箱结果判断所述目标图元是否为待渲染图元,若所述目标图元为待渲染图元,则对所述待渲染图元进行渲染,直至各所述分箱结果关联的预设图元均判断完毕,得到渲染后的图像区块。
在本申请的一种可能的实现方式中,渲染单元还用于:
根据各所述序列位置中的分箱结果,更新所述图像区块对应的全局图元表,其中,所述全局图元表中包含所述图像区块中各所述预设图元的分箱进程信息;
查询所述全局图元表中各所述预设图元的分箱进程信息,若各所述预设图元均分箱完成,则判定分箱处理结束,执行所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元的步骤。
在本申请的一种可能的实现方式中,所述图像渲染方法应用于图形处理装置中,所述图形处理装置包括图形处理模块和分箱模块,所述图元信息序列存储于所述分箱模块中,所述全局图元表存储于所述图形处理模块中。
在本申请的一种可能的实现方式中,渲染单元还用于:
根据所述图像数据中各预设图元的数量,构建预设的全局图元表。
在本申请的一种可能的实现方式中,各所述分箱结果以比特值的形式记录在对应的序列位置中。
在本申请的一种可能的实现方式中,分箱单元还用于:
获取待处理的图像数据;
根据所述图像数据的数据量,确定待划分的图像区块数量;
根据所述图像区块数量,对所述图像数据对应的图像进行分块处理,得到所述图像数据对应的图像区块。
在本申请的一种可能的实现方式中,所述图像区块有多个,渲染单元还用于:
查询得到各所述图像区块对应的光栅化模块;
分别调用各所述图像区块对应的光栅化模块,将各所述图像区块对应的分箱结果的序列位置顺序作为渲染顺序,对各所述图像区块进行并行渲染,得到各渲染后的图像区块。
在本申请的一种可能的实现方式中,分箱单元还用于:
获取所述图像数据对应的图像区块,以及所述图像数据中的各预设图元;
对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置;
在各所述预设图元对应的序列位置中,记录各所述预设图元的分箱结果。
在本申请的一种可能的实现方式中,分箱单元还用于:
根据所述图像区块对应的位置范围和各所述预设图元的图元位置,对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置。
在本申请的一种可能的实现方式中,所述图像区块有多个,分箱单元还用于:
从每个图像区块对应的分箱模块的数据库中,读取得到所述每个图像区块对应的目标图元信息序列。
第三方面,本申请还提供一种图形处理设备,图形处理设备包括处理器、存储器以及存储于存储器中并可在处理器上运行的计算机程序,处理器调用存储器中的计算机程序时执行本申请提供的任一种图像渲染方法中的步骤。
第四方面,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现本申请提供的任一种图像渲染方法中的步骤。
综上所述,本申请实施例提供的图像渲染方法包括:获取待处理的图像数据;对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;获取由所述渲染后的图像区块所构成的渲染图像。
可见,本申请实施例提供的图像渲染方法由于在记录时将预设图元的接口顺序信息与记录分箱结果的序列位置对应,因此可以使分箱结果的序列位置顺序中天然与各预设图元的接口顺序所匹配,无需构建预设图元与分箱结果之间的索引表,而是仅需要存储分箱结果即可,大大减少了存储所占用的数据空间。并且,一方面本方法将待渲染图像分为多个图块,在每个图块中保持待渲染图元的顺序,对多个图块可以进行并行渲染,提高渲染效率,并且不需要对每个像素点进行排序计算。另一方面,本方法在保持每个图块中待渲染图元的顺序时,将序列位置天然保持的顺序作为渲染顺序,在渲染时无需对待渲染图元进行排序计算,因此提高了图像渲染的效率,并且降低了图像渲染的算力需求和计算负荷。本方法可以应用于移动端等算力较低、存储空间较小的设备中。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的图像渲染方法的应用场景示意图;
图2是本申请实施例中提供的图像渲染方法的一种流程示意图;
图3是本申请实施例中提供的图像渲染方法的另一种流程示意图;
图4是本申请实施例中提供的获取图像区块的一种流程示意图;
图5是本申请实施例中提供的图像渲染设备中图像渲染的示意图;
图6是本申请实施例中提供的图像渲染装置的一个实施例结构示意图;
图7是本申请实施例中提供的图形处理设备的一个实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的过程进行详细阐述,以避免不必要的细节使本申请实施例的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请实施例所公开的原理和特征的最广范围相一致。
本申请实施例提供一种图像渲染方法、装置、图形处理设备和存储介质。
参见图1,图1是本申请实施例所提供的图像渲染系统的场景示意图。其中,该图像渲染系统可以包括图形处理设备101,图形处理设备101中集成有图像渲染装置。
另外,如图1所示,该图像渲染系统还可以包括存储器102,用于存储数据,如存储文本数据。
需要说明的是,图1所示的图像渲染系统的场景示意图仅仅是一个示例,本申请实施例描述的图像渲染系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着图像渲染系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
下面,开始介绍本申请实施例提供的图像渲染方法,本申请实施例中以图形处理设备作为执行主体,为了简化与便于描述,后续方法实施例中将省略该执行主体,该图像渲染方法包括:获取待处理的图像数据;对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;获取由所述渲染后的图像区块所构成的渲染图像。
参照图2,图2是本申请实施例提供的图像渲染方法的一种流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。该图像渲染方法具体可以包括以下步骤201-步骤204,其中:
201、获取待处理的图像数据。
其中,待处理的图像数据是指待渲染图像的图像数据,示例性地,待处理的图像数据可以是输入至图形渲染管线(Graphics Pipeline/Rendering Pipeline)中的图像数据。
在图像数据中,包含了待渲染图像中各预设图元的构成信息。其中,图元(primitive)是计算机图形学中构成图像的基本元素,包括点、线和三角形。各预设图元的构成信息可以包括各预设图元的顶点位置等信息。通过图形渲染管线中的Vertexshading、Primitive assembly、Clipping、Viewport等处理模块,图形处理设备可以根据各预设图元的构成信息,组装得到待渲染图像中的各预设图元。
此外,图像数据中还包括了各预设图元的顺序信息。其中,各预设图元的顺序是指原始API的调用顺序,在图形渲染管线的Alpha Blending模块中,需要按照原始API的调用顺序,依次对预设图元进行渲染,才能保证得到最终的渲染图像,因此各预设图元的顺序也可以理解为渲染时的顺序。
202、对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果。
图像数据对应的图像区块(Tile)是指对待渲染图像进行分块后,得到的图像块。例如,可以将待渲染图像等分为n块,n的具体数值可以根据实际场景的需求进行设置。本申请实施例提供的图像渲染方法在进行渲染时,将待渲染图像分为多个图块,在每个图块中保持待渲染图元的顺序,对多个图块可以进行并行渲染,提高渲染效率,并且不需要对每个像素点进行排序计算。
分箱处理(Binning)是指将各预设图元分配至图像区块中,以确定每个图像区块包含的图元。可以理解的,每个预设图元在图像区块中的分箱结果可以包括:“包含”和“不包含”两种。其中,分箱处理的过程可以在图形处理设备中预设的分箱模块内进行,分箱模块是图形处理设备内用于分箱的硬件结构,对于每个图像区块,均对应有一个分箱模块,所述每个图像区块的分箱过程发生在对应的分箱模块中。需要说明的是,在本申请实施例中,图形处理设备可以包括图形处理模块和分箱模块,其中,图形处理模块可以是指GPU,用于对图像进行渲染。
其中,序列位置可以是指图像区块对应的图元信息序列中的位置。此时,步骤“对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置”,包括:
(1.1)获取所述图像数据对应的图像区块,以及所述图像数据中的各预设图元。
(1.2)对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置。
示例性地,可以根据图像区块对应的位置范围和各预设图元的图元位置,对各预设图元进行分箱处理,得到图像区块中各预设图元的分箱结果。此时,步骤“对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置”,包括:
根据所述图像区块对应的位置范围和各所述预设图元的图元位置,对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置。
各预设图元的接口顺序信息是指步骤201中说明的顺序信息。示例性地,接口顺序信息可以以顺序编号的形式存在。例如,对于根据原始API调用顺序依次排列的预设图元:图元1、图元2、图元3、图元4、图元5,可以分别为图元1-图元5赋予顺序编号1号-5号。
(1.3)在各所述预设图元对应的序列位置中,记录各所述预设图元的分箱结果。
其中,图像区块对应的目标图元信息序列可以在图形处理设备出厂前即设置好,例如,可以在分箱模块的数据库中,设置一个包含1024个序列位置的目标图元信息序列。目标图元信息序列中的每个序列位置可用于存储一个预设图元的分箱结果。图像区块对应的目标图元信息序列可以存储在图像区块对应的分箱模块的数据库中。因此当图像区块有多个时,步骤“对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置”之前,还包括:
从每个图像区块对应的分箱模块的数据库中,读取得到所述每个图像区块对应的目标图元信息序列。
为了方便理解,以下对步骤202的具体流程进行阐述:
以图像区块只有一个为例图形处理设备并行地,或者按照接口顺序编号依次对各预设图元进行分箱,确定在图像区块中,预设图元的分箱结果。假设预设图元包括图元0-图元9,共10个,则图形处理设备可以并行地,或者依次对图元0-图元9进行分箱处理,确定在图像区块中,预设图元的分箱结果,每得到一个预设图元的分箱结果,则在图像区块对应的目标图元信息序列中,根据该预设图元的接口顺序编号确定待记录的序列位置,即该预设图元对应的序列位置,并将该预设图元的分箱结果记录在对应的序列位置中,直至所有预设图元的分箱处理都结束,并且分箱结果都记录在对应的序列位置中为止。例如当图元1的分箱处理结束,得到图元1在图像区块中的分箱结果时,则将目标图元信息序列中的第二个序列位置作为待记录的序列位置,并将图元1的分箱结果记录在待记录的序列位置中。又例如当图元9的分箱处理结束,得到图元9在图像区块中的分箱结果时,则将目标图元信息序列中的第十个序列位置作为待记录的序列位置,并将图元9的分箱结果记录在待记录的序列位置中。
可见,通过步骤202,图形处理设备可以在对各预设图元进行分箱处理时,通过将接口顺序信息与序列位置对应的方法,使分箱结果的序列位置顺序中天然与各预设图元的接口顺序所匹配(即渲染顺序,渲染顺序和接口顺序的关系可以参考步骤201的说明),因此,无需构建预设图元与分箱结果之间的索引表,而是仅需要存储分箱结果即可,大大减少了存储所占用的数据空间,并且由于目标图元信息序列存储在分箱模块中,因此每次在记录分箱结果时,无需访问图像处理设备中的图形处理模块,提高记录的效率。
在一些实施例中,为了进一步减少存储所占用的数据空间,分箱结果可以以比特值的形式存储在对应的序列位置中。例如当预设图元的分箱结果为“包含”,即图像区块中包含该预设图元时,在对应的序列位置中标记1,当预设图元的分箱结果为“不包含”,即图像区块中不包含该预设图元时,在对应的序列位置中标记0。可见,通过本申请实施例中的方法,每一个预设图元的分箱结果仅需要1比特的存储空间,大大减少了存储所占用的数据空间,因此,本申请实施例提供的图像渲染方法可以应用于存储空间较小的设备中。
203、将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块。
其中,步骤203可以在图像区块中各预设图元的分箱处理均完成后,再执行。需要说明的是,当图像区块有多个时,则对于其中已经完成分箱处理的图像区块,可以直接执行步骤203,而无需等待其他未完成分箱处理的图像区块的处理完成。
其中,图像区块中的待渲染图元是指图像区块中包含的预设图元,即分箱结果为“包含”的预设图元。
根据步骤202的说明可知,图形处理设备可以在对各预设图元进行分箱处理时,通过将接口顺序信息与序列位置对应的方法,使分箱结果的序列位置顺序与各预设图元的接口顺序所匹配,因此,可以将分箱结果的序列位置顺序作为渲染顺序,依次对待渲染图元进行渲染。
可以理解的,在步骤202的分箱过程中,图形处理设备已经得到了图像区块中所有预设图元的分箱结果,但是为了节省存储空间,在序列位置中并未构建分箱结果与预设图元之间的关联,因此在执行步骤203时,可以依次读取每个序列位置中的分箱结果,当读取到的分箱结果所关联的预设图元为待渲染图元时,对其进行渲染,直至所有序列位置的分箱结果均读取完成,并且各分箱结果对应的预设图元均渲染完成后,即可得到渲染后的图像区块。此时,步骤“将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块”,包括:
(2.1)分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元。
以上文中的例子继续进行说明:假设预设图元包括图元0-图元9,共10个,则在通过步骤202记录后,在执行步骤203时,可以依次将序列位置中的第一个、第二个……第十个,分别与接口顺序编号为0-9的图元进行关联,得到各序列位置中分箱结果关联的预设图元。
(2.2)按照各所述分箱结果的序列位置顺序,依次将关联的预设图元作为目标图元,根据所述目标图元关联的分箱结果判断所述目标图元是否为待渲染图元,若所述目标图元为待渲染图元,则对所述待渲染图元进行渲染,直至各所述分箱结果关联的预设图元均判断完毕,得到渲染后的图像区块。
图形处理设备可以依次读取每个分箱结果,得到每个分箱结果关联的预设图元,并根据读取到的分箱结果判断该预设图元是否为待渲染的图元,在通过比特值记录分箱结果时,如果读取到的分箱结果为1,则渲染读取到的分箱结果关联的预设图元,如果读取到的分箱结果为0,则继续读取序列位置为下一个的分箱结果,并重复上述步骤,直至所有分箱结果关联的预设图元均判断完毕。
可见,本申请实施例提供的图像渲染方法,不仅仅可以降低图像渲染时需要的存储空间需求,而且将序列位置天然保持的顺序作为渲染顺序,在渲染时无需对待渲染图元进行排序计算,因此提高了图像渲染的效率,并且降低了图像渲染的算力需求和计算负荷,使本申请实施例提供的图像渲染方法可以应用于移动端等算力较低的设备中。
以下提供一种步骤203的实施流程,假设预设图元包括图元0-图元9,共10个,并且分箱结果以比特值的形式记录:
图形处理设备首先读取首个序列位置中记录的分箱结果,若该分箱结果为1,则对图元0进行渲染,然后图形处理设备读取第二个序列位置中记录的分箱结果,若该分箱结果为0,则不对图元1进行渲染……直至对图元0-图元9均处理完毕,即可得到渲染后的图像区块。
其中,图形处理设备可以通过光栅化模块对待渲染图元进行渲染。在本申请实施例中,一个光栅化模块可以对应一个图像区块,也可以由一个光栅化模块对应多个图像区块,在对不同图像区块进行渲染时,并没有渲染顺序的限制,而是可以同时对多块图像区块进行并行渲染,因此,本申请实施例提供的图像渲染方法可以通过分块处理的方法,并行对多个图像区块进行渲染,而在对每个图像区块进行渲染时,又保持了其中待渲染图元的顺序,避免了传统方法中,需要对像素点,或者对待渲染图元进行排序计算,进而导致计算量较大的缺陷。在图像区块有多个时,步骤“将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块”,包括:
(3.1)查询得到各所述图像区块对应的光栅化模块。
(3.2)分别调用各所述图像区块对应的光栅化模块,将各所述图像区块对应的分箱结果的序列位置顺序作为渲染顺序,对各所述图像区块进行并行渲染,得到各渲染后的图像区块。
其中,光栅化模块可以是指图形渲染管线中的光栅化引擎(Raster Engine)。
在执行步骤(3.2)时,对于每一个图像区块,图形处理设备调用其对应的光栅化模块,并将该图像区块对应的分箱结果的序列位置顺序作为渲染顺序,对该图像区块进行渲染,并且,各光栅化模块的渲染过程相互独立并行。
需要说明的是,在经过光栅化模块处理后,还需要经过ROP(Raster OperationsUnits)等功能性模块进行处理,才能得到渲染后的图像区块,对这些过程具体不进行赘述。
204、获取由所述渲染后的图像区块所构成的渲染图像。
将渲染后的图像区块按照预设的位置进行拼接后,即可得到渲染图像。
综上所述,本申请实施例提供的图像渲染方法包括:获取待处理的图像数据;对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;获取由所述渲染后的图像区块所构成的渲染图像。
可见,本申请实施例提供的图像渲染方法由于在记录时将预设图元的接口顺序信息与记录分箱结果的序列位置对应,因此可以使分箱结果的序列位置顺序中天然与各预设图元的接口顺序所匹配,无需构建预设图元与分箱结果之间的索引表,而是仅需要存储分箱结果即可,大大减少了存储所占用的数据空间。并且,一方面本方法将待渲染图像分为多个图块,在每个图块中保持待渲染图元的顺序,对多个图块可以进行并行渲染,提高渲染效率,并且不需要对每个像素点进行排序计算。另一方面,本方法在保持每个图块中待渲染图元的顺序时,将序列位置天然保持的顺序作为渲染顺序,在渲染时无需对待渲染图元进行排序计算,因此提高了图像渲染的效率,并且降低了图像渲染的算力需求和计算负荷。本方法可以应用于移动端等算力较低、存储空间较小的设备中。
在一些实施例中,可以在得到待处理的图像数据后,构建一个用于存储分箱进度的表格,通过表格判断分箱是否完成。参考图3,此时,步骤“分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元”之前,还包括:
301、根据各所述序列位置中的分箱结果,更新所述图像区块对应的全局图元表。
其中,所述全局图元表中包含所述图像区块中各所述预设图元的分箱进程信息。示例性地,全局图元表中同样可以存储各预设图元的分箱结果,图形处理设备将分箱结果作为分箱进程信息,若全局图元表中包含预设图元的分箱结果,则认为该预设图元已经分箱完成。
全局图元表可以在获取到待处理的图像数据后,构建而成。此时,步骤“根据各所述序列位置中的分箱结果,更新所述图像区块对应的全局图元表”之前,所述方法还包括:
根据所述图像数据中各预设图元的数量,构建预设的全局图元表。
由此构建的全局图元表,可以占据更少的存储空间。
可以理解的,若图像区块有多个,则每个图像区块可以存在对应的全局图元表。并且,全局图元表中的分箱结果可以与各预设图元相关联,也可以不与预设图元相关联,而是按照图元信息序列的记录方法进行更新,在查询待确定图元的分箱进程信息时,通过全局图元表中分箱结果的记录顺序信息和各预设图元的接口顺序信息,确定待确定图元的分箱进程信息。
302、查询所述全局图元表中各所述预设图元的分箱进程信息,若各所述预设图元均分箱完成,则判定分箱处理结束,执行所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述预设图元的分箱结果的步骤。
示例性地,图形处理设备可以遍历全局图元表中的每一个预设图元,判断在全局图元表中是否包含每一个预设图元的分箱结果,如果均包含,则可以判定分箱处理结束,执行所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述预设图元的分箱结果的步骤。
在一些实施例中,全局图元表可以存储在图形处理模块中,因此查询时不用遍历每个分箱模块,可以提高分箱处理时的效率。
在一些实施例中,在进行图像分块时,可以根据图像数据的数据量,确定图像区块的数量。参考图4,此时,步骤“对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果”之前,还包括:
401、获取待处理的图像数据。
402、根据所述图像数据的数据量,确定待划分的图像区块数量。
其中,数据量可以是指图像数据所需要占用的存储空间大小。数据量越大,说明待渲染图像的分辨率越高,因此为了提高渲染效果和效率,可以设定较多的图像区块数量,数据量越小,可以设定较少的图像区块数量。
403、根据所述图像区块数量,对所述图像数据对应的图像进行分块处理,得到所述图像数据对应的图像区块。
为了方便理解,本申请实施例还提供一种图像渲染设备的工作示意图,参考图5,图5中示出了图像渲染设备的工作流程:
首先,接收到Host CPU发送的图像数据(CP),对图像数据进行Vertex shading、Primitive assembly、Clipping、Viewport等处理后,得到各预设图元,同时,从图像数据中得到各预设图元的接口顺序信息。
在分箱模块501(Binning)中进行分箱,并将分箱结果记录在分箱模块中的目标图元信息序列(Bin Primitive status table)中,同时更新图形处理模块中的全局图元表(Global Primitive Status Table)。
分箱处理完成后,调用光栅化模块502(Raster),根据渲染顺序对图像区块中的待渲染图元进行处理,并将处理后的结果输入ROP模块503,得到渲染后的图像区块,以及渲染图像。
为了更好实施本申请实施例中的图像渲染方法,在图像渲染方法基础之上,本申请实施例中还提供一种图像渲染装置,如图6所示,为本申请实施例中图像渲染装置的一个实施例结构示意图,该图像渲染装置600包括:
第一获取单元601,用于获取待处理的图像数据;
分箱单元602,用于对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;
渲染单元603,用于将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;
第二获取单元604,用于获取由所述渲染后的图像区块所构成的渲染图像。
在本申请的一种可能的实现方式中,渲染单元603还用于:
分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元;
按照各所述分箱结果的序列位置顺序,依次将关联的预设图元作为目标图元,根据所述目标图元关联的分箱结果判断所述目标图元是否为待渲染图元,若所述目标图元为待渲染图元,则对所述待渲染图元进行渲染,直至各所述分箱结果关联的预设图元均判断完毕,得到渲染后的图像区块。
在本申请的一种可能的实现方式中,渲染单元603还用于:
根据各所述序列位置中的分箱结果,更新所述图像区块对应的全局图元表,其中,所述全局图元表中包含所述图像区块中各所述预设图元的分箱进程信息;
查询所述全局图元表中各所述预设图元的分箱进程信息,若各所述预设图元均分箱完成,则判定分箱处理结束,执行所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元的步骤。
在本申请的一种可能的实现方式中,所述图像渲染方法应用于图形处理装置中,所述图形处理装置包括图形处理模块和分箱模块,所述图元信息序列存储于所述分箱模块中,所述全局图元表存储于所述图形处理模块中。
在本申请的一种可能的实现方式中,渲染单元603还用于:
根据所述图像数据中各预设图元的数量,构建预设的全局图元表。
在本申请的一种可能的实现方式中,各所述分箱结果以比特值的形式记录在对应的序列位置中。
在本申请的一种可能的实现方式中,分箱单元602还用于:
获取待处理的图像数据;
根据所述图像数据的数据量,确定待划分的图像区块数量;
根据所述图像区块数量,对所述图像数据对应的图像进行分块处理,得到所述图像数据对应的图像区块。
在本申请的一种可能的实现方式中,所述图像区块有多个,渲染单元603还用于:
查询得到各所述图像区块对应的光栅化模块;
分别调用各所述图像区块对应的光栅化模块,将各所述图像区块对应的分箱结果的序列位置顺序作为渲染顺序,对各所述图像区块进行并行渲染,得到各渲染后的图像区块。
在本申请的一种可能的实现方式中,分箱单元602还用于:
获取所述图像数据对应的图像区块,以及所述图像数据中的各预设图元;
对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置;
在各所述预设图元对应的序列位置中,记录各所述预设图元的分箱结果。
在本申请的一种可能的实现方式中,分箱单元602还用于:
根据所述图像区块对应的位置范围和各所述预设图元的图元位置,对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置。
在本申请的一种可能的实现方式中,所述图像区块有多个,分箱单元602还用于:
从每个图像区块对应的分箱模块的数据库中,读取得到所述每个图像区块对应的目标图元信息序列。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由于该图像渲染装置可以执行任意实施例中图像渲染方法中的步骤,因此,可以实现本申请任意实施例中图像渲染方法所能实现的有益效果,详见前面的说明,在此不再赘述。
此外,为了更好实施本申请实施例中图像渲染方法,在图像渲染方法基础之上,本申请实施例还提供一种图形处理设备,参阅图7,图7示出了本申请实施例图形处理设备的一种结构示意图,具体的,本申请实施例提供的图形处理设备包括处理器701,处理器701用于执行存储器702中存储的计算机程序时实现任意实施例中图像渲染方法的各步骤;或者,处理器701用于执行存储器702中存储的计算机程序时实现如图6对应实施例中各单元的功能。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器702中,并由处理器701执行,以完成本申请实施例。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
图形处理设备可包括,但不仅限于处理器701、存储器702。本领域技术人员可以理解,示意仅仅是图形处理设备的示例,并不构成对图形处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
处理器701可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是图形处理设备的控制中心,利用各种接口和线路连接整个图形处理设备的各个部分。
存储器702可用于存储计算机程序和/或模块,处理器701通过运行或执行存储在存储器702内的计算机程序和/或模块,以及调用存储在存储器702内的数据,实现计算机装置的各种功能。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据图形处理设备的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的图像渲染装置、图形处理设备及其相应单元的具体工作过程,可以参考任意实施例中图像渲染方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时执行本申请任意实施例中图像渲染方法中的步骤,具体操作可参考任意实施例中图像渲染方法的说明,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请任意实施例中图像渲染方法中的步骤,因此,可以实现本申请任意实施例中图像渲染方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请实施例所提供的一种图像渲染方法、装置、存储介质及图形处理设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (14)
1.一种图像渲染方法,其特征在于,包括:
获取待处理的图像数据;
对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;
将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;
获取由所述渲染后的图像区块所构成的渲染图像。
2.根据权利要求1所述的图像渲染方法,其特征在于,所述将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块,包括:
分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元;
按照各所述分箱结果的序列位置顺序,依次将关联的预设图元作为目标图元,根据所述目标图元关联的分箱结果判断所述目标图元是否为待渲染图元,若所述目标图元为待渲染图元,则对所述待渲染图元进行渲染,直至各所述分箱结果关联的预设图元均判断完毕,得到渲染后的图像区块。
3.根据权利要求2所述的图像渲染方法,其特征在于,所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元之前,还包括:
根据各所述序列位置中的分箱结果,更新所述图像区块对应的全局图元表,其中,所述全局图元表中包含所述图像区块中各所述预设图元的分箱进程信息;
查询所述全局图元表中各所述预设图元的分箱进程信息,若各所述预设图元均分箱完成,则判定分箱处理结束,执行所述分箱处理结束后,根据各所述分箱结果的序列位置顺序,以及各所述预设图元的接口顺序信息,将各所述分箱结果与各所述预设图元之间一一关联,得到各所述分箱结果关联的预设图元的步骤。
4.根据权利要求3所述的图像渲染方法,其特征在于,所述图像渲染方法应用于图形处理装置中,所述图形处理装置包括图形处理模块和分箱模块,图元信息序列存储于所述分箱模块中,所述全局图元表存储于所述图形处理模块中。
5.根据权利要求3所述的图像渲染方法,其特征在于,所述根据各所述序列位置中的分箱结果,更新预设的全局图元表之前,所述方法还包括:
根据所述图像数据中各预设图元的数量,构建预设的全局图元表。
6.根据权利要求1所述的图像渲染方法,其特征在于,各所述分箱结果以比特值的形式记录在对应的序列位置中。
7.根据权利要求1所述的图像渲染方法,其特征在于,所述对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果之前,还包括:
获取待处理的图像数据;
根据所述图像数据的数据量,确定待划分的图像区块数量;
根据所述图像区块数量,对所述图像数据对应的图像进行分块处理,得到所述图像数据对应的图像区块。
8.根据权利要求1所述的图像渲染方法,其特征在于,所述图像区块有多个,
所述将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块,包括:
查询得到各所述图像区块对应的光栅化模块;
分别调用各所述图像区块对应的光栅化模块,将各所述图像区块对应的分箱结果的序列位置顺序作为渲染顺序,对各所述图像区块进行并行渲染,得到各渲染后的图像区块。
9.根据权利要求1所述的图像渲染方法,其特征在于,所述对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果,包括:
获取所述图像数据对应的图像区块,以及所述图像数据中的各预设图元;
对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置;
在各所述预设图元对应的序列位置中,记录各所述预设图元的分箱结果。
10.根据权利要求9所述的图像渲染方法,其特征在于,所述对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置,包括:
根据所述图像区块对应的位置范围和各所述预设图元的图元位置,对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置。
11.根据权利要求9所述的图像渲染方法,其特征在于,所述图像区块有多个,
所述对各所述预设图元进行分箱处理,得到所述图像区块中各所述预设图元的分箱结果,并在所述图像区块对应的目标图元信息序列中,确定各所述预设图元的接口顺序信息对应的序列位置之前,还包括:
从每个图像区块对应的分箱模块的数据库中,读取得到所述每个图像区块对应的目标图元信息序列。
12.一种图像渲染装置,其特征在于,包括:
第一获取单元,用于获取待处理的图像数据;
分箱单元,用于对所述图像数据中的各预设图元进行分箱处理,得到所述图像数据对应的图像区块中各所述预设图元的分箱结果,并在各所述预设图元的接口顺序信息对应的序列位置中,记录各所述预设图元的分箱结果;
渲染单元,用于将各所述分箱结果的序列位置顺序作为渲染顺序,依次对根据分箱结果确定的所述图像区块中的待渲染图元进行渲染,得到渲染后的图像区块;
第二获取单元,用于获取由所述渲染后的图像区块所构成的渲染图像。
13.一种图形处理设备,其特征在于,所述图形处理设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至11任一项所述的图像渲染方法中的步骤。
14.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至11任一项所述的图像渲染方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210964529.XA CN115049531B (zh) | 2022-08-12 | 2022-08-12 | 图像渲染方法、装置、图形处理设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210964529.XA CN115049531B (zh) | 2022-08-12 | 2022-08-12 | 图像渲染方法、装置、图形处理设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115049531A CN115049531A (zh) | 2022-09-13 |
CN115049531B true CN115049531B (zh) | 2022-10-25 |
Family
ID=83167256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210964529.XA Active CN115049531B (zh) | 2022-08-12 | 2022-08-12 | 图像渲染方法、装置、图形处理设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115049531B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385253B (zh) * | 2023-01-06 | 2024-07-23 | 格兰菲智能科技股份有限公司 | 图元绘制方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708579A (zh) * | 2011-02-16 | 2012-10-03 | Arm有限公司 | 拼贴式图形系统和操作这种系统的方法 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
CN112862937A (zh) * | 2019-11-27 | 2021-05-28 | Arm有限公司 | 用于处理图形图元的方法、图形处理系统和存储介质 |
CN114066714A (zh) * | 2021-01-14 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 一种合批渲染方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180056316A (ko) * | 2016-11-18 | 2018-05-28 | 삼성전자주식회사 | 타일-기반 렌더링을 수행하는 방법 및 장치 |
GB2578320B (en) * | 2018-10-23 | 2023-07-05 | Advanced Risc Mach Ltd | Graphics processing |
-
2022
- 2022-08-12 CN CN202210964529.XA patent/CN115049531B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708579A (zh) * | 2011-02-16 | 2012-10-03 | Arm有限公司 | 拼贴式图形系统和操作这种系统的方法 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
CN112862937A (zh) * | 2019-11-27 | 2021-05-28 | Arm有限公司 | 用于处理图形图元的方法、图形处理系统和存储介质 |
CN114066714A (zh) * | 2021-01-14 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 一种合批渲染方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115049531A (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101980990B1 (ko) | 중간-분류 아키텍처에서 프레임 대 프레임 일관성의 활용 | |
KR101639852B1 (ko) | 그래픽 프로세싱을 위한 픽셀 값 압축 | |
US8345059B2 (en) | Methods, systems, and data structures for generating a rasterizer | |
US9619937B2 (en) | Methods and apparatus for processing computer graphics primitives in tile-based graphics rendering system | |
CN110990516B (zh) | 地图数据的处理方法、装置和服务器 | |
US9013479B2 (en) | Apparatus and method for tile-based rendering | |
GB2559042A (en) | Allocation of tiles to processing engines in a graphics processing system | |
US7880745B2 (en) | Systems and methods for border color handling in a graphics processing unit | |
CN115100022B (zh) | 图形处理方法及系统 | |
US7483035B2 (en) | Texture cache control using a data dependent slot selection scheme | |
US9886735B2 (en) | Hybrid engine for central processing unit and graphics processor | |
US6891546B1 (en) | Cache memory for texture mapping process in three-dimensional graphics and method for reducing penalty due to cache miss | |
CN115049531B (zh) | 图像渲染方法、装置、图形处理设备及存储介质 | |
JP2007517330A (ja) | 3次元グラフィック・サブシステムにおけるテクスチャマップデータのプログラム可能なフィルタ処理方法及び装置 | |
US6919908B2 (en) | Method and apparatus for graphics processing in a handheld device | |
US11734869B2 (en) | Graphics processing | |
CN114372928A (zh) | 一种数据处理方法、装置及电子设备 | |
CN116188244B (zh) | 图块分发方法、装置、设备及存储介质 | |
CN111091188B (zh) | 神经网络的前向计算方法、装置及计算机可读存储介质 | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
US11748933B2 (en) | Method for performing shader occupancy for small primitives | |
US11798218B2 (en) | Methods and apparatus for pixel packing | |
CN115760543A (zh) | 光栅器有序视图的线程处理方法、装置、设备和存储介质 | |
CN112419463B (zh) | 一种模型数据处理方法、装置、设备及可读存储介质 | |
CN117252751B (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 |