WO2023202367A1 - 图形处理器、系统、装置、设备及方法 - Google Patents
图形处理器、系统、装置、设备及方法 Download PDFInfo
- Publication number
- WO2023202367A1 WO2023202367A1 PCT/CN2023/085960 CN2023085960W WO2023202367A1 WO 2023202367 A1 WO2023202367 A1 WO 2023202367A1 CN 2023085960 W CN2023085960 W CN 2023085960W WO 2023202367 A1 WO2023202367 A1 WO 2023202367A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- graphic element
- primitive
- pixel
- tile
- primitives
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000005070 sampling Methods 0.000 claims abstract description 46
- 238000012360 testing method Methods 0.000 claims abstract description 46
- 238000009877 rendering Methods 0.000 claims abstract description 30
- 239000000872 buffer Substances 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 18
- 238000003672 processing method Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 13
- 238000004040 coloring Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Abstract
本公开提供一种图形处理器、系统、装置、设备及方法。该图形处理器采用基于图块的渲染架构,包括光栅化处理模块,被配置为:逐个图块对图元进行光栅化处理,图元包括第一图元和第二图元,第一图元包括被识别为属于纹理空间着色物体的图元,第二图元包括被识别为属于像素空间着色物体的图元;其中,读取第一图元的图元信息,确定第一图元覆盖的采样反馈像素对应的纹理坐标,将纹理坐标输出至采样反馈图,根据第一图元的图元信息对第一图元进行至少一项像素测试;读取第二图元的图元信息,根据第二图元的图元信息对第二图元进行至少一项像素测试。本公开减少了可多次绘图管线带来的内存开销,从而提升了处理性能。
Description
相关申请的交叉引用
本申请基于申请号为202210414557.4、申请日为2022年4月20日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
本公开涉及图像渲染技术领域,尤其涉及一种GPU(Graphics Processing Unit,图形处理器)、系统、电子装置、电子设备及图形处理方法。
采样反馈是DirectX 12Ultimate的一个新功能。采样反馈功能可以在物体进行渲染时,将需要进行纹理采样的纹理坐标记录到采样反馈图(sampler feedback map)中。通过采样反馈可以优化纹理空间着色(texture space shading)的效率。例如,可以跳过需要进行纹理空间着色的物体(纹理空间着色物体)在屏幕上不可见的区域,提高显存的利用率。
在现有的基于图块的渲染架构中实现采样反馈功能的一种可能方案如下:
对一个图像帧中要进行纹理空间着色的物体和其他物体进行拆分。针对纹理空间着色物体提交一个单独的渲染指令,实现三维坐标到纹理坐标的转换,并进行采样反馈,用于纹理空间着色;再针对图像帧显示的所有物体提交一次渲染指令,进行显示输出。
上述方案需要为每个纹理空间着色物体执行一次单独的3D渲染管线,带来了额外的内存交互延时和带宽,当一个图像帧中的纹理空间着色物体较多时,在基于图块的渲染架构下,性能降低更为明显。
发明内容
本公开的目的是提供一种图形处理器、图形处理系统、电子装置、电子设备及图形处理方法,以便采用基于图块的渲染架构的图形处理器在实现采样反馈功能时,实现性能优化。
根据本公开的一个方面,提供一种图形处理器,采用基于图块的渲染架构,该图形处理器至少包括:
光栅化处理模块,被配置为:逐个图块对图元进行光栅化处理,图元包括第一图元和第二图元,第一图元包括被识别为属于纹理空间着色物体的图元,第二图元包括被识别为属于像素空间着色物体的图元;
其中,对于第一图元的光栅化处理包括:读取第一图元的图元信息,确定第一图元覆盖的采样反馈像素对应的纹理坐标,将纹理坐标输出至采样反馈图,根据第一图元的图元信息对第一图元进行至少一项像素测试;
对于第二图元的光栅化处理包括:读取第二图元的图元信息,根据第二图元的图元信息对第二图元进行至少一项像素测试。
本公开中,读取第一图元的图元信息是在确定第一图元覆盖的采样反馈像素对应的纹理坐标之后执
行的。
可选的,所述光栅化处理模块还被配置为:
从图块缓冲区中读取第一图元识别信息,所述第一图元识别信息指示的图元被识别为第一图元,非第一图元被识别为第二图元。
可选的,第一图元识别信息包括指向第一存储空间的图元索引,第一存储空间用于保存第一图元的图元信息,第二图元的图元信息被保存在第二存储空间。
在上述任一图形处理器实施例的基础上,图形处理器还包括几何处理模块和图块划分模块。
其中,几何处理模块被配置为:针对绘图指令,对图像帧中的物体进行几何处理,该图像帧中的物体包括纹理空间着色物体和像素空间着色物体;
图块划分模块被配置为:对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区,图块划分处理结果包括覆盖图块的图元的图元索引;
图块划分模块还被配置为:将第一图元识别信息保存至图块缓冲区,第一图元识别信息是根据绘图指令指示的第一图元标识信息确定的。
在上述任一图形处理器实施例的基础上,像素处理模块还被配置为:根据第一图元的像素测试结果识别第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存屏幕可见像素及纹理坐标的映射关系。
进一步的,图形处理器还可以包括像素处理模块,被配置为:根据采样反馈图对第一图元所属的纹理空间着色物体进行像素处理。
根据本公开的另一个方面,提供一种图形处理系统,该图形处理系统包括上述任一实施例中所述的图形处理器。
根据本公开的另一个方面,提供一种电子装置,包括上述实施例中所述的图形处理系统。
根据本公开的另一个方面,提供一种电子设备,包括上述实施例所述的电子装置。
根据本公开的另一个方面,提供一种图形处理方法,采用基于图块的渲染架构,该方法至少包括如下步骤:
逐个图块对图元进行光栅化处理,图元包括第一图元和第二图元,第一图元包括被识别为属于纹理空间着色物体的图元,第二图元包括被识别为属于像素空间着色物体的图元;
其中,对于第一图元的光栅化处理包括:读取第一图元的图元信息,确定第一图元覆盖的采样反馈像素对应的纹理坐标,将纹理坐标输出至采样反馈图,根据第一图元的图元信息对第一图元进行至少一项像素测试;
对于第二图元的光栅化处理包括:读取第二图元的图元信息,根据第二图元的图元信息对第二图元进行至少一项像素测试。
可选的,本公开实施例提供的方法还包括:
从图块缓冲区中读取第一图元识别信息,第一图元识别信息指示的图元被识别为第一图元,非第一图元被识别为第二图元。
进一步的,第一图元识别信息可以包括指向第一存储空间的图元索引,第一存储空间用于保存第一图元的图元信息,第二图元的图元信息被保存在第二存储空间。
在上述任一方法实施例的基础上,上述方法还可以包括:
针对绘图指令,对图像帧中的物体进行几何处理,图像帧中的物体包括纹理空间着色物体和像素空间着色物体;
对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区,图块划分处理结果包括覆盖图块的图元的图元索引;
将第一图元识别信息保存至图块缓冲区,第一图元识别信息是根据绘图指令指示的第一图元标识信息确定的。
在上述任一方法实施例的基础上,本公开实施例提供的方法还可以包括:
根据第一图元的像素测试结果识别第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存屏幕可见像素及纹理坐标的映射关系。
进一步的,上述方法还可以包括:
根据采样反馈图对第一图元所属的纹理空间着色物体进行像素处理。
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本公开一个实施例的图形处理系统结构示意图;
图2A为本公开一个实施例的纹理空间着色物体在物体空间可见性示意图;
图2B为本公开一个实施例的纹理空间着色物体的采样反馈图;
图2C为本公开一个实施例的纹理空间着色物体的屏幕可见像素示意图;
图3为本公开一个实施例的图形处理方法流程示意图;
图4为本公开另一个实施例的图形处理方法流程示意图。
在介绍本公开实施例之前,应当说明的是:
本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的目的是提供一种采用基于图块的渲染架构的GPU,该GPU在一个图像帧的渲染过程中既进行纹理空间着色物体的采样反馈,又进行像素空间着色物体的着色,不需要对纹理空间着色物体进行单独拆分及单独的几何坐标变换过程,减少了多次绘图管线带来的内存开销,从而提升了处理性能。其中,GPU是指通过硬件实现、具有计算功能的处理器,其包括计算单元、缓存等等组成部件,可以是GPGPU(general-purpose graphics processing unit,通用图形处理器),也可以是GPU。
本公开实施例提供的图形处理器适用于任何基于图块的渲染架构,例如,TBR(Tile Based Render,
基于图块的渲染)、TBDR(Tile Based Deferred Rendering,基于图块的延迟渲染)等。
本公开的一个实施例提供一种图形处理器,该图形处理器采用基于图块的渲染架构,其至少包括几何处理模块、图块划分模块、光栅化处理模块和像素处理模块。
其中,几何处理模块被配置为:针对绘图指令,对图像帧中的物体进行几何处理,该图像帧中的物体包括纹理空间着色物体和像素空间着色物体;
图块划分模块被配置为:对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区(tile buffer),图块划分处理结果包括覆盖图块的图元的图元索引;
光栅化处理模块被配置为:逐个图块对图元进行光栅化处理,图元包括第一图元和第二图元,第一图元包括被识别为属于纹理空间着色物体的图元,第二图元包括被识别为属于像素空间着色物体的图元;
其中,对于第一图元的光栅化处理包括:读取第一图元的图元信息,确定第一图元覆盖的采样反馈像素对应的纹理坐标,将纹理坐标输出至采样反馈图,根据第一图元的图元信息对第一图元进行至少一项像素测试;
对于第二图元的像素处理包括:读取第二图元的图元信息,根据第二图元的图元信息对第二图元进行至少一项像素测试;
像素处理模块被配置为:逐个图块对图元进行像素处理。
本公开中,纹理空间着色物体是指采用纹理空间着色技术进行处理的物体,其在多个图像帧中相对不变,在后续图像帧中不需要再进行复杂的像素计算,只需要根据之前的着色结果进行贴图即可。
本公开中,像素空间着色物体是指图像帧中纹理空间着色物体之外的物体。
本公开中,采样反馈像素是指纹理空间着色物体在屏幕空间可见部分的像素。应当指出的是,在读取了第一图元的图元信息后,确定上述采样纹理像素对应的纹理坐标并输出至采样反馈图的处理过程与根据第一图元的图元信息对第一图元进行至少一项像素测试的处理过程可以并行执行。即,本公开中,在确定采样反馈像素时,不依赖于像素测试结果识别纹理空间着色物体的哪些像素属于屏幕空间可见像素。本公开中,作为举例而非限定,可以由软件指示纹理空间着色物体在屏幕空间上的可见部分,进而可以确定采样反馈像素。
本公开中,纹理坐标可以但不仅限于是u,v坐标。
本公开中,采样反馈图可以保存在系统内存中。在一个实施例中,系统内存中分配了用于存储采样反馈图的存储空间。
本公开中,几何处理模块通过硬件实现,且基于不同的渲染架构,几何处理模块实现的功能有所不同,且几何处理模块可以由单一硬件模块或者多个硬件模块构成。
本公开中,图块划分模块通过硬件实现。
本公开中,光栅化模块通过硬件实现,且基于不同的渲染架构,光栅化处理模块实现的功能有所不同。光栅化处理模块可以由单一硬件模块或多个硬件模块构成,但无论采用何种渲染架构,光栅化处理模块均能够实现在像素测试之前,确定第一图元覆盖的采样反馈像素对应的纹理坐标,并将纹理坐标输出至采样反馈图。
本公开中,像素处理模块通过硬件实现,且基于不同的渲染架构,像素处理模块实现的功能有所不同。像素处理模块可以由单一硬件模块或者多个硬件模块构成。
作为举例而非限定,在一个实施例中,几何处理模块包括顶点着色器(vertex shader)和几何着色器(geometry shader)。其中,顶点着色器获取图像帧中各个物体的几何信息,并将这些物体的几何信息传输给几何着色器。几何着色器分别利用各个物体的几何信息,将各个物体的三维坐标转换为展开的纹理坐标(u,v),物体的几何信息包括物体的三维坐标。
如上所述,实际应用中,也可以由单一硬件模块实现上述顶点着色器和几何着色器的功能。
更进一步的,软件对图像帧中的纹理空间着色物体进行标记,本公开不对标记方式进行限定。作为举例而非限定,可以在绘图指令中指示第一图元标识信息,也可以通过其他指令对第一图元进行标记。
在一个实施例中,图块划分模块还可以被配置为:将第一图元识别信息保存至图块缓冲区。
第一图元识别信息用于识别第一图元,本公开实施例不对第一图元识别信息的具体表现形式进行限定。
作为举例而非限定,在一个实施例中,在图块缓冲区中,每个图元索引对应一个标志位,该标志位取值为第一指定值(例如取值为1),则表示该图元索引对应的图元为第一图元,相应的,取值为第一指定值的标志位即为第一图元识别信息。对应的,该标志位取值为第二指定值(例如取值为0),则表示该图元索引对应的图元为第二图元。像素处理模块可以根据该标志位的取值识别第一图元及第二图元。
相应的,第一图元识别信息是根据绘图指令指示的第一图元标识信息确定的。
作为举例而非限定,在另一个实施例中,预先为第一图元和第二图元的图元信息分配不同的存储空
间,其中,第一图元的图元信息存储在第一存储空间,第二图元的图元信息存储在第二存储空间。这种情况下,并不需要软件额外标记第一图元和第二图元,相应的,第一图元识别信息包括图元索引。如果图元索引指向第一存储空间,那么,对应的图元为第一图元,如果图元索引指向第二存储空间,那么,对应的图元为第二图元。
无论第一图元识别信息具体采用何种表达方式,若第一图元识别信息保存在图块缓冲区,光栅化处理模块还可以被配置为:从图块缓冲区中读取第一图元识别信息,以便识别第一图元和第二图元。
在另一个实施例中,图块划分模块还可以被配置为:将第一图元识别信息保存至图元信息。作为举例而非限定,利用图元信息中的保留字段标识第一图元,那么取值用来标识第一图元的预留字段为第一图元识别信息。
相应的,光栅化处理模块从图块缓冲区中读取图元索引,基于图元索引获取图元信息,从图元信息中获取第一图元识别信息。
在上述任一图形处理器实施例的基础上,光栅化处理模块还可以被配置为:根据第一图元的像素测试结果识别第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存屏幕可见像素及纹理坐标的映射关系。
进一步的,像素处理模块对纹理空间着色物体的像素处理具体可以被配置为:根据采样反馈图对第一图元所属的纹理空间着色物体进行像素处理(包括着色处理),得到并输出纹理空间着色物体的纹理图。
作为举例而非限定,在一个实施例中,光栅化处理模块包括像素覆盖测试子模块和像素插值计算子模块。其中,像素覆盖测试子模块根据第一图元的像素测试结果识别第一图元覆盖的屏幕可见像素,并将屏幕可见像素的像素坐标填入映射关系数据结构;像素插值计算子模块通过插值计算确定屏幕可见像素坐标对应的纹理坐标并填入映射关系数据结构。
应当指出的是,上述像素覆盖测试及像素插值计算的功能也可以由更少或者更多的硬件实现,本公开对此不做限定。
本公开中,映射关系数据结构中关联保存存在映射关系的屏幕可见像素坐标及纹理坐标。本公开不对映射关系数据结构的具体数据结构形式进行限定,作为举例,可以采用映射表的数据结构形式。
更进一步的,屏幕可见像素及纹理坐标的映射关系可以保存在系统内存中。在一个实施例中,系统内存中分配了用于存储该映射关系的存储空间,确定该映射关系后,将该映射关系输出至映射关系的存储空间。
如上所述,纹理空间着色的目的是对多个帧中相对不变的物体进行单独着色,从而使每一帧在显示该物体时只进行贴图。因此,在对纹理空间着色物体进行纹理空间着色后,在后续的多帧中,均可以由上述画图显示模块按照上述实现方式确定纹理空间着色物体的像素颜色。
本公开实施例还提供一种图形处理系统,该图形处理系统包括上述任一实施例中所述的图形处理器。
本公开实施例中,图形处理系统的产品形态可以为SOC(System on Chip,片上系统)芯片。
本公开实施例中的图形处理器系统可以是单die(晶片)SOC芯片,也可以是多die互联的SOC芯片。
下面以一个die为例,对本公开提供的图形处理系统的架构及工作原理进行说明。
在图1所示的一个实施例中,单die的图形处理系统包括GPU核,该GPU核即上述的图形处理器。
GPU核用来处理绘图的指令,根据绘图指令,执行图像渲染的Pipeline,还可以用来执行其他运算指令。GPU核中进一步包括:计算单元,用于执行着色器编译后的指令,属于可编程模块,由大量的ALU组成;缓存(Cache),用于GPU核数据的缓存,以减少对内存的访问;光栅化模块,3D渲染管线的一个固定的阶段;图块划分(Tilling)模块,TBR和TBDR GPU架构中对一帧进行划片处理;裁剪模块,3D渲染管线的一个固定的阶段,裁剪掉观察范围外,或者背面不显示的图元;后处理模块,用于对画完的图进行缩放,裁剪,旋转等操作;微核(Micro core),用于GPU核上各个管线硬件模块之间的调度,或者用于多GPU核的任务调度。
GPU核连接到片上网络。其中,片上网络用于图形处理系统上各个主(master)和从(salve)之间的数据交换,本实施例中,片上网络包括配置总线、数据通信网络、通信总线等等。
如图1所示,图形处理系统还可以包括:
通用DMA(Direct Memory Access,直接存储器访问),用于执行主机端到图形处理系统内存(例如显卡内存)之间的数据搬移,例如,通过DMA将3D画图的顶点(vertex)数据从主机端搬到图形处理系统内存;
PCIe控制器,用于和主机通信的接口,实现PCIe协议,使图形处理系统通过PCIe接口连接到主机上,主机上运行了图形API以及显卡的驱动等程序;
应用处理器,用于图形处理系统上各个模块任务的调度,例如GPU渲染完一帧图后通知应用处理器,应用处理器再启动显示控制器将GPU画完的图显示到屏幕上;
内存控制器,用于连接内存设备,用于保存SOC上的数据;
显示控制器,控制将内存里的frame buffer以显示接口(HDMI,DP等)输出到显示器上;
视频解码,可以将主机硬盘上的编码的视频解码成能显示的画面;
视频编码,可以将主机硬盘上原始的视频码流编码成指定的格式返回给主机。
基于图1所示的图形处理系统架构,在一个实施例中,图形渲染过程如下:
主机的图形API(实际应用中,对于移动端的图形处理系统,也可以由应用处理器上的软件)向SOC芯片发送绘图指令,要求对图像帧进行渲染,该绘图指令中标记了纹理空间着色物体。
其中,图像帧中既包括纹理空间着色物体,又包括像素空间着色物体。在本实施例中,如果有纹理空间着色物体已经在之前的图像帧中完成纹理空间着色,那么,在当前图像帧中不需要再对该纹理空间着色物体进行着色,而是根据已经得到的纹理图进行贴图,因此,该纹理空间着色物体在当前图像帧中不会被标记为纹理空间物体。
通用DMA将图像帧中各个物体的顶点数据(顶点数据包括物体顶点的3D坐标)从主机端搬运至图形处理系统内存。
GPU核的计算单元获取上述绘图指令后,对该绘图指令进行译码。
GPU核的顶点着色器(由计算单元实现其功能)从系统内存中获取图像帧中各个物体的顶点数据,并将物体的顶点数据传输给几何着色器(由计算单元实现其功能),几何着色器将物体顶点的3D坐标转换为展开的纹理坐标(即(u,v)坐标)。
可选的,计算单元可以根据软件的标记对物体进行识别,对于被识别为像素空间着色物体的物体,则在系统内存中查找其是否有对应的纹理图,如果有,意味着该物体实际上是纹理空间着色物体,不调度几何着色器对其进行坐标映射,从而减少硬件开销。
几何处理结束后,GPU核中的图块划分模块对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区,图块划分处理结果包括覆盖图块的图元的图元索引。另外,图块划分模块根据软件标记的纹理空间着色物体识别纹理空间着色物体的图元,对于被识别为纹理空间着色物体覆盖的图元,将其图元索引对应的标志位取值置1,对于被识别为像素空间着色物体覆盖的图元,将其图元索引对应的标志位取值置0。
应当指出的是,在本实施例中,如果纹理空间着色物体在之前的图像帧中已进行了纹理空间着色,那么,在当前图像帧中不需要再对其进行采样反馈,因此,其覆盖的图元不会被识别为第一图元。
图块划分结束后,光栅化模块进行光栅化处理。光栅化模块逐个图块进行处理,每次从图块缓冲区读取覆盖当前图块的图元的图元索引及对应的标志位取值;如果某个图元索引对应的标志位取值为1,意味着该图元索引对应的图元为第一图元,光栅化模块通过图元索引读取该图元的图元信息,并利用该图元的图元信息进行像素覆盖测试,以确定该图元覆盖的像素,进而通过插值计算确定该图元覆盖的像素对应的纹理坐标,将该图元覆盖的屏幕可见像素对应的纹理坐标保存到采样反馈图中,然后进行至少一项像素测试,以确定像素的可见性(作为举例而非限定,像素测试可以包括深度测试、模板测试等);如果某个图元索引对应的标志位取值为0,意味着该图元索引对应的图元为第二图元,光栅化模块通过图元索引读取该图元的图元信息,并利用该图元的图元信息进行像素覆盖测试,以确定该图元覆盖的像素,然后进行至少一项像素测试,以确定像素的可见性(作为举例而非限定,像素测试可以包括深度测试、模板测试等)。
以图2A所示的立方体为例,假设软件指示该立方体在屏幕空间中的可见部分为正面、上面和右侧面,那么,如图2B所示,该立方体对应的采样反馈图中的纹理坐标为该立方体的正面、上面和右侧面的图元所覆盖的像素对应的纹理坐标。
本公开中,采用现有技术实现像素覆盖测试、像素插值计算及像素测试。
通过像素测试可以确定像素的可见性信息。因此,光栅化模块根据像素处理结果识别第一图元覆盖像素中的屏幕可见像素,将第一图元覆盖的屏幕可见像素的像素坐标及对应的纹理坐标保存到上述映射关系表中。
可选的,像素测试后,光栅化模块首先根据可见性信息(即像素测试结果)判断像素是否为屏幕可见像素,对于屏幕可见像素,进一步判断覆盖该像素的图元是否为第一图元,如果是第一图元,将该像素的像素坐标及对应的纹理坐标保存到上述映射关系表中,如果不是第一图元,则由片段着色器(fragment shader,由计算单元实现其功能)对像素进行像素处理。
以图2A所示的立方体为例,假设该立方体被一柱状体遮挡,那么,该立方体对应的上述映射关系表中的像素坐标为该立方体的正面、上面和右侧面的图元所覆盖的屏幕可见像素(如图2C所示)的像素坐标。
上述处理过程中,硬件输出三个缓冲区:
帧缓冲区(frame buffer),其中保存物体最终显示的颜色信息,对于纹理空间着色物体,像素测试后向帧缓冲区输出像素可见性信息,并没有进行着色;
采样反馈图,其中记录了纹理空间着色物体在屏幕空间可见部分的纹理坐标,纹理空间着色时,仅对采样反馈图中记录的纹理坐标进行着色计算;
像素与纹理坐标映射关系表,是像素坐标到纹理坐标的映射,例如,像素(0,1)位置映射到(u=0.1,v=0.5),用于在贴图阶段对像素位置进行颜色查找。在像素与纹理坐标映射关系表中,只记录纹理空间着色物体在当前图像帧屏幕可见像素与纹理坐标的映射关系。
光栅化处理结束后,GPU核的片段着色器(由计算单元实现其功能)根据采样反馈图中记录的纹理坐标执行对应像素的着色计算(例如光照计算)。其中,纹理空间着色物体的着色计算结果被记录到纹理空间着色物体的纹理图中,供当前帧及后续图像帧贴图使用。
在贴图处理阶段,针对纹理空间着色物体,GPU核中的硬件根据上述映射关系,从纹理空间着色物体的纹理图中查找颜色值,作为对应像素的最终显示值。
本公开实施例还提供一种电子装置,该电子装置包括上述任一实施例中所述的图形处理系统。在一些使用场景下,该电子装置的产品形式体现为显卡;在另一些使用场景下,该电子装置的产品形式体现为CPU主板。
本公开实施例还提供一种电子设备,该电子设备包括上述的电子装置。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、VR设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机、工作站、服务器等。
基于相同的发明构思,本公开实施例还提供一种图形处理方法,采用基于图块的渲染架构,该方法至少包括如下步骤:逐个图块对图元进行光栅化处理,图元包括第一图元和第二图元,第一图元包括被识别为属于纹理空间着色物体的图元,第二图元包括被识别为属于像素空间着色物体的图元。
如图3所示,对于第一图元的光栅化处理包括:
步骤301、读取第一图元的图元信息;
步骤302、确定第一图元覆盖的采样反馈像素对应的纹理坐标;
步骤303、将纹理坐标输出至采样反馈图;
步骤304、根据第一图元的图元信息对第一图元进行至少一项像素测试。
应当指出的是,步骤302至步骤304均在步骤301之后执行。本公开不限定步骤302与步骤304的执行时序。
对于第二图元的像素处理包括:读取第二图元的图元信息,根据第二图元的图元信息对第二图元进行至少一项像素测试。
可选的,本公开实施例提供的方法还包括:
从图块缓冲区中读取第一图元识别信息,第一图元识别信息指示的图元被识别为第一图元,非第一图元被识别为第二图元。
进一步的,第一图元识别信息可以包括指向第一存储空间的图元索引,第一存储空间用于保存第一图元的图元信息,第二图元的图元信息被保存在第二存储空间。
在上述任一方法实施例的基础上,上述方法还可以包括:
针对绘图指令,对图像帧中的物体进行几何处理,图像帧中的物体包括纹理空间着色物体和像素空间着色物体;
对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区,图块划分处理结果包括覆盖图块的图元的图元索引;
将第一图元识别信息保存至图块缓冲区,第一图元识别信息是根据绘图指令指示的第一图元标识信息确定的。
在上述任一方法实施例的基础上,本公开实施例提供的方法还可以包括:
根据第一图元的像素测试结果识别第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存屏幕可见像素及纹理坐标的映射关系。
进一步的,上述方法还可以包括:
根据采样反馈图对第一图元所属的纹理空间着色物体进行像素处理。
在另一个实施例中,如图4所示,本公开提供的图形处理方法包括如下操作:
步骤401、硬件响应于软件提交的绘图指令,对图像帧中的物体进行几何处理。
其中,图像帧中包括纹理空间着色物体和像素空间着色物体。
步骤402、硬件对图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至图块缓冲区,图块划分处理结果包括覆盖图块的图元的图元索引。
步骤403、硬件根据绘图指令中标记的纹理空间着色物体确定被识别为纹理空间着色物体的物体覆盖的图元(第一图元),并将第一图元识别信息保存至图块缓冲区。
步骤404、硬件从图块缓冲区读取一个图块对应的第一图元识别信息,根据第一图元识别信息识别覆盖当前图块的第一图元和第二图元。
针对覆盖当前图块的第一图元,执行步骤405,针对覆盖当前图块的第二图元,执行步骤410。
步骤405、硬件读取第一图元的图元信息;
步骤406、硬件确定第一图元覆盖的采样反馈像素对应的纹理坐标;
步骤407、硬件将纹理坐标输出至采样反馈图;
步骤408、硬件根据第一图元的图元信息对第一图元进行至少一项像素测试。
步骤409、硬件根据第一图元的像素测试结果识别第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存屏幕可见像素及纹理坐标的映射关系。
步骤410、硬件读取第二图元的图元信息,根据第二图元的图元信息对第二图元进行至少一项像素测试。
步骤411、硬件对图像帧中的物体进行像素处理。
其中,根据采样反馈图对第一图元所属的纹理空间着色物体进行着色处理。
步骤412、硬件对图像帧中的物体进行贴图处理。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (15)
- 一种图形处理器,采用基于图块的渲染架构,所述图形处理器包括:光栅化处理模块,被配置为:逐个图块对图元进行光栅化处理,所述图元包括第一图元和第二图元,所述第一图元包括被识别为属于纹理空间着色物体的图元,所述第二图元包括被识别为属于像素空间着色物体的图元;其中,对于第一图元的光栅化处理包括:读取所述第一图元的图元信息,确定所述第一图元覆盖的采样反馈像素对应的纹理坐标,将所述纹理坐标输出至采样反馈图,根据所述第一图元的图元信息对所述第一图元进行至少一项像素测试;对于第二图元的光栅化处理包括:读取所述第二图元的图元信息,根据所述第二图元的图元信息对所述第二图元进行至少一项像素测试。
- 根据权利要求1所述的图形处理器,所述光栅化处理模块还被配置为:从图块缓冲区中读取第一图元识别信息,所述第一图元识别信息指示的图元被识别为第一图元,非第一图元被识别为第二图元。
- 根据权利要求2所述的图形处理器,所述第一图元识别信息包括指向第一存储空间的图元索引,所述第一存储空间用于保存所述第一图元的图元信息,所述第二图元的图元信息被保存在第二存储空间。
- 根据权利要求2或3所述的图形处理器,所述图形处理器还包括几何处理模块和图块划分模块;所述几何处理模块被配置为:针对绘图指令,对图像帧中的物体进行几何处理,所述图像帧中的物体包括所述纹理空间着色物体和所述像素空间着色物体;所述图块划分模块被配置为:对所述图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至所述图块缓冲区,所述图块划分处理结果包括覆盖图块的图元的图元索引;所述图块划分模块还被配置为:将所述第一图元识别信息保存至所述图块缓冲区,所述第一图元识别信息是根据所述绘图指令指示的第一图元标识信息确定的。
- 根据权利要求1至3任一项所述的图形处理器,所述光栅化处理模块还被配置为:根据所述第一图元的像素测试结果识别所述第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存所述屏幕可见像素及纹理坐标的映射关系。
- 根据权利要求5所述的图形处理器,所述图形处理器还包括像素处理模块,被配置为:根据所述采样反馈图对所述第一图元所属的纹理空间着色物体进行像素处理。
- 一种图形处理系统,包括权利要求1至6任一项所述的图形处理器。
- 一种电子装置,包括权利要求7所述的系统。
- 一种电子设备,包括权利要求8所述的电子装置。
- 一种图形处理方法,采用基于图块的渲染架构,所述方法包括:逐个图块对图元进行光栅化处理,所述图元包括第一图元和第二图元,所述第一图元包括被识别为属于纹理空间着色物体的图元,所述第二图元包括被识别为属于像素空间着色物体的图元;其中,对于第一图元的光栅化处理包括:读取第一图元的图元信息,确定所述第一图元覆盖的采样反馈像素对应的纹理坐标,将所述纹理坐标输出至采样反馈图,根据所述第一图元的图元信息对所述第一图元进行至少一项像素测试;对于第二图元的光栅化处理包括:读取所述第二图元的图元信息,根据所述第二图元的图元信息对所述第二图元进行至少一项像素测试。
- 根据权利要求10所述的方法,所述方法还包括:从图块缓冲区中读取第一图元识别信息,所述第一图元识别信息指示的图元被识别为第一图元,非第一图元被识别为第二图元。
- 根据权利要求11所述的方法,所述第一图元识别信息包括指向第一存储空间的图元索引,所述第一存储空间用于保存所述第一图元的图元信息,所述第二图元的图元信息被保存在第二存储空间。
- 根据权利要求11或12所述的方法,所述方法还包括:针对绘图指令,对图像帧中的物体进行几何处理,所述图像帧中的物体包括所述纹理空间着色物体和所述像素空间着色物体;对所述图像帧中的物体进行图块划分处理,并将图块划分处理结果保存至所述图块缓冲区,所述图块划分处理结果包括覆盖图块的图元的图元索引;将所述第一图元识别信息保存至所述图块缓冲区,所述第一图元识别信息是根据所述绘图指令指示的第一图元标识信息确定的。
- 根据权利要求10至12任一项所述的方法,所述方法还包括:根据所述第一图元的像素测试结果识别所述第一图元覆盖的屏幕可见像素及对应的纹理坐标,保存所述屏幕可见像素及纹理坐标的映射关系。
- 根据权利要求14所述的方法,所述方法还包括:根据所述采样反馈图对所述第一图元所属的纹理空间着色物体进行像素处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210414557.4 | 2022-04-20 | ||
CN202210414557.4A CN116958375A (zh) | 2022-04-20 | 2022-04-20 | 图形处理器、系统、装置、设备及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023202367A1 true WO2023202367A1 (zh) | 2023-10-26 |
Family
ID=88419076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/085960 WO2023202367A1 (zh) | 2022-04-20 | 2023-04-03 | 图形处理器、系统、装置、设备及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116958375A (zh) |
WO (1) | WO2023202367A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117689790A (zh) * | 2024-01-29 | 2024-03-12 | 深圳中微电科技有限公司 | 基于缓冲区的像素渲染保序方法、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107958437A (zh) * | 2017-11-24 | 2018-04-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多gpu大分辨率多屏图形分块并行渲染方法 |
US20180150296A1 (en) * | 2016-11-28 | 2018-05-31 | Samsung Electronics Co., Ltd. | Graphics processing apparatus and method of processing texture in graphics pipeline |
CN110675480A (zh) * | 2018-07-03 | 2020-01-10 | 辉达公司 | 用于获取纹理操作的采样位置的方法和装置 |
CN111062858A (zh) * | 2019-12-27 | 2020-04-24 | 西安芯瞳半导体技术有限公司 | 高效的提前渲染方法、装置及计算机存储介质 |
CN112884875A (zh) * | 2021-03-19 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
-
2022
- 2022-04-20 CN CN202210414557.4A patent/CN116958375A/zh active Pending
-
2023
- 2023-04-03 WO PCT/CN2023/085960 patent/WO2023202367A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150296A1 (en) * | 2016-11-28 | 2018-05-31 | Samsung Electronics Co., Ltd. | Graphics processing apparatus and method of processing texture in graphics pipeline |
CN107958437A (zh) * | 2017-11-24 | 2018-04-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种多gpu大分辨率多屏图形分块并行渲染方法 |
CN110675480A (zh) * | 2018-07-03 | 2020-01-10 | 辉达公司 | 用于获取纹理操作的采样位置的方法和装置 |
CN111062858A (zh) * | 2019-12-27 | 2020-04-24 | 西安芯瞳半导体技术有限公司 | 高效的提前渲染方法、装置及计算机存储介质 |
CN112884875A (zh) * | 2021-03-19 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116958375A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI592902B (zh) | 來自片段著色器程式之樣本遮罩的控制 | |
KR100896155B1 (ko) | 내장형 디바이스의 플렉시블 안티에일리어싱 | |
TWI731871B (zh) | 用於最佳化在唯位置著色圖磚延遲渲染器中的剪裁操作的方法、裝置及非暫態電腦可讀取媒體 | |
CN109785417B (zh) | 一种实现OpenGL累积操作的方法及装置 | |
US20070268289A1 (en) | Graphics system with dynamic reposition of depth engine | |
KR20170132758A (ko) | 하이브리드 2d/3d 그래픽 렌더링 | |
US10825129B2 (en) | Eliminating off screen passes using memoryless render target | |
WO2023202367A1 (zh) | 图形处理器、系统、装置、设备及方法 | |
WO2018018941A1 (zh) | 利用OpenGL与OpenCL协作实现图像缩放的方法及系统 | |
US10192348B2 (en) | Method and apparatus for processing texture | |
US6756989B1 (en) | Method, system, and computer program product for filtering a texture applied to a surface of a computer generated object | |
CN117058288A (zh) | 图形处理器及方法、多核图形处理系统、电子装置及设备 | |
JP4532746B2 (ja) | 3dパイプラインを使用したストレッチ・ブリッティングのための方法および装置 | |
US9019284B2 (en) | Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline | |
US10269168B2 (en) | Graphics processing systems | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
WO2023051590A1 (zh) | 一种渲染格式选择方法及其相关设备 | |
WO2023202365A1 (zh) | 图形处理器、系统、装置、设备及方法 | |
WO2023202366A1 (zh) | 图形处理器、系统、电子装置、设备及图形处理方法 | |
CN116263981B (zh) | 图形处理器、系统、装置、设备及方法 | |
CN115715464A (zh) | 用于遮挡处理技术的方法和装置 | |
JP2020087458A (ja) | エッジをアンチエイリアスするグラフィックス処理方法、システム、記憶媒体及び装置 | |
CN116957898A (zh) | 图形处理器、系统、方法、电子装置及电子设备 | |
CN112581575B (zh) | 一种外视频做纹理系统 | |
JP4419480B2 (ja) | 画像処理装置およびその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23791023 Country of ref document: EP Kind code of ref document: A1 |