CN109716385A - 并行微多边形光栅化器 - Google Patents
并行微多边形光栅化器 Download PDFInfo
- Publication number
- CN109716385A CN109716385A CN201780052299.7A CN201780052299A CN109716385A CN 109716385 A CN109716385 A CN 109716385A CN 201780052299 A CN201780052299 A CN 201780052299A CN 109716385 A CN109716385 A CN 109716385A
- Authority
- CN
- China
- Prior art keywords
- pel
- rasterizer
- bounding box
- area
- pixel
- 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
Classifications
-
- 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
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- 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
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- 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/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
一种并行的可调适图形光栅化系统(100)包括带有路由器(520)的图元汇编器(135,315,515),以便选择性地路由图元(700,800)到第一光栅化器(155,350,410,525)或多个第二光栅化器(355,405,540,605)中的一者。所述第二光栅化器对不同图元并发地操作,并且所述图元是基于所述图元的面积而选择性地路由。在一些变型中,在提供所述图元到所述多个第二光栅化器中的一者之前,将所述图元的边界框(215,705,805)缩小成预定数量个像素。缩小所述边界框包括,例如,从表示所述图元的点的坐标减去所述边界框的原点。
Description
背景技术
技术领域
图形处理系统生成由模型表示的场景的图像,所述模型可由处理系统创建并操纵。3-D场景模型中的对象通常由多组曲面(诸如,贝尔赛曲面)表示,所述多组曲面是由一组控制点定义的高阶表面。曲面由图形管线进行处理,以生成在屏幕上显示的图像。处理3-D图形的传统图形管线分成两部分,一部分处理几何工作负载,而另一部分处理像素工作负载。处理几何工作负载的部分称之为在对象空间操作,而处理像素工作负载的部分称之为在图像空间操作。图形管线的几何部分包括用于处理较高阶图元(例如,曲面)的几何前端、接收较高阶图元并从输入的较高阶图元生成较低阶图元的曲面细分器,以及用于处理较低阶图元并将其转化为图像空间中的像素的几何后端。较低阶图元包括诸如四边形、三角形、线、点和由互连顶点形成的类似形状的多边形。较低阶图元通过互连形成用于表示场景中各种对象的网络。
附图说明
通过参考附图,本公开可以被更好地理解,并且其许多特征和优点对于本领域技术人员变得明显。在不同图式中使用的相同附图标号指示类似或完全相同的项目。
图1A是根据一些实施方案的第一实例图形处理系统的框图。
图1B是根据一些实施方案的第二实例图形处理系统的框图。
图2是根据一些实施方案的用于确定对象的边界框和深度值的实例边界体积的框图。
图3是根据一些实施方案的部分图形处理系统的第一实例的框图。
图4是根据一些实施方案的部分图形处理系统的第二实例的框图。
图5是根据一些实施方案的图形处理系统的部分的框图,所述图形处理系统包括带有多个曲面细分引擎的曲面细分器。
图6是根据一些实施方案的并行光栅化器的框图。
图7是根据一些实施方案的大图元和对应大边界框的图示。
图8是根据一些实施方案的小图元和大边界框的图示。
图9是根据一些实施方案的基于图元面积而选择性地路由图元到大或小光栅化器的方法的流程图。
具体实施方式
图1A描绘根据一些实施方案的第一实例图形处理系统。第一实例图形处理系统包括图形管线100,所述图形管线100能够处理高阶几何图元以便以预定分辨率生成三维(3-D)场景的经光栅化的图像。图形管线100访问诸如一个或多个存储器或高速缓存的资源101,所述一个或多个存储器或高速缓存用于实现缓冲器并且存储顶点数据、纹理数据等等。输入汇编器102被配置为从资源101访问用于定义表示部分场景模型的对象的信息。可以软件实现的顶点着色器103接收图元的单个顶点作为输入并且输出单个顶点。图形管线100实现统一的着色器模型,由此使得图形管线100中实现的所有着色器具有相同能力。因此,使用在本文中称之为统一着色器池104的一组通用资源来实现包括顶点着色器103的着色器。外壳着色器105对输入曲面或用于定义输入曲面的控制点进行操作。外壳着色器105输出曲面细分因子和其它曲面数据。
任选地,由外壳着色器105输出的图元可提供到曲面细分器106。曲面细分器106从外壳着色器105接收对象(诸如曲面),并且生成用于识别对应于输入对象的图元的信息,例如,通过基于由外壳着色器105提供到曲面细分器106的曲面细分因子对输入对象进行曲面细分。
区域着色器107输入区域位置和(任选的)其它曲面数据。区域着色器107对所提供的信息进行操作,并且基于输入区域位置和其它信息生成单个顶点以供输出。几何着色器108接收输入图元,并且输出由几何着色器108基于输入图元而生成的多达四个图元。提供一个图元流到光栅化器109,并且多达四个图元流可合并到资源101中的缓冲器中。光栅化器109执行着色操作和其它操作,诸如裁剪、视角划分、剪取、视口选择,等等。
像素着色器110输入单个像素,并且响应于输入像素而输出零个或一个像素。输出合并器块111对从像素着色器110接收的像素执行混合、深度、印花或其它操作。
在图形管线100中,曲面细分将输入的较高阶图元(诸如,曲面)细分为一组较低阶输出图元,所述较低阶输出图元表示更细致的细节级别,例如,如曲面细分因子所指出的,指定曲面细分过程生成的图元的粒度。因此,场景模型可由较少数量个较高阶图元表示(以便节省存储器或带宽),并且可通过曲面细分较高阶图元来添加附加细节。曲面细分的粒度可基于需要的细节级别来配置,所述细节级别通常由较高阶图元所表示的对象与摄像机的相对位置确定,所述摄像机表示用于渲染对象所在场景的图像。离摄像机较近的对象需要较高细节级别,而离摄像机较远的对象需要较低细节级别。取决于需要的细节级别,曲面细分可在图形管线中将较低阶图元的数量相对于输入的较高阶图元的数量增大若干数量级。由曲面细分器106生成的一些图元是微多边形,所述微多边形表示的区域小于或大致等于图像空间或用于显示经渲染图像的屏幕上单个像素的区域。
图形管线100中的光栅化器109将由曲面细分器106生成的图元所表示的顶点信息转化为由像素构成的光栅图像,所述像素的值由光栅化器109基于输入图元而确定。在一些情况下,归因于大量由曲面细分器106生成的图元或诸如大规模并行计算着色器程序或超高速度数据信道之类的任何其它图元源,光栅化器109可能会不堪重负,尤其是光栅化器109对表示要求高细节级别的场景的部分的图元进行操作时。因此,在这种情况下光栅化器109成为图形管线100中的瓶颈。由所述瓶颈导致的像素率降低可使帧速率和用户接收的图像质量明显降低。此外,光栅化器109被配置为对表示大于单个像素面积的面积的图元进行操作。例如,光栅化器109可使用足以对图像坐标执行固定点操作的硬件来实现,所述坐标表示整个图像空间范围内多边形的点或顶点。相比之下,微多边形之间的差异可由范围小得多的图像坐标来表示。因此,使用光栅化器109光栅化微多边形对图形管线100的资源的使用效率不高。
图1B-9揭示,通过使用其中利用不同组光栅化器(本文中称之为大光栅化器和小光栅化器)的复合架构来选择性地光栅化图元以便依据图元面积处理图元,图形管线中由大规模图元流产生的光栅化器的瓶颈可有所改善,并且图形管线的资源可得以更有效地部署。大光栅化器的一个实例被配置为在可涵盖整个图像空间范围的边界框内对多边形执行固定点操作。因此,多边形由图像空间中在由16到24个位表示的范围内的输入坐标表示。因此,在此实例中,大光栅化器必须能够对在由40到48个位表示的范围内的中间结果操作。小光栅化器仅对较小边界框所涵盖的图元操作,并且不具有对较大边界框所涵盖的图元操作的足够处理能力。例如,提供到小光栅化器的图元可受限于对应于四个像素(例如,2x 2像素四边形)的面积所涵盖的多边形。因此,表示提供到小光栅化器(和小光栅化器所生成的中间结果)的图元所需的输入坐标范围由较少数量个位表示,例如,10-20个位。
在一些实施方案中,使用图元面积与边界框的阈值面积的比较来选择性地提供图元到大光栅化器或小光栅化器。使用大光栅化器来光栅化表示大于阈值面积的面积的图元(诸如,多边形),并且使用小光栅化器中的一者来光栅化表示小于或等于阈值面积的面积的多边形。阈值面积可由预定数量个像素来指示,所述预定数量可设置为对应于小光栅化器的能力的配置像素的数量。例如,边界框的阈值面积可设置为2x 2像素配置。在一些情况下,可使用多个不同的阈值面积来选择性地提供图元到处理能力不同的两种类型以上的光栅化器。区分阈值面积的边界框内的不同位置所需的图元的图像坐标中的位源自提供到小光栅化器的信息。小光栅化器中光栅化计算所需的位数量可通过从提供到小光栅化器的图像坐标减去边界框的原点而进一步减少。在一些实施方案中,每个小光栅化器与存储表示光栅化之前多边形的点或顶点的特征的值的队列相关联。队列的深度被选择以补偿用于处理小光栅化器中缩小范围的图像坐标所要求的等待时间。
图1B是根据一些实施方案的第二实例图形处理系统112的框图。图形处理系统112包括输入汇编器(IA)113,所述输入汇编器113访问用于定义表示部分场景模型的对象的信息。例如,输入汇编器113可访问由一个或多个控制点定义并用于表示部分模型的贝塞尔曲面。再例如,输入汇编器113可访问图元的顶点,诸如表示部分模型的三角形。在一些实施方案中,输入汇编器还可针对图形处理系统112中的图形管线创建工作项,并且分配标识符到对象,诸如顶点标识符、图元标识符、控制点标识符,等等。在一些变型中,对象可访问图形处理系统112中的存储器114。处理系统112的一些实施方案包括高速缓存115,所述高速缓存115用于缓存在存储器114中存储的信息。在一些情况下,高速缓存115为单级高速缓存或包括多个级别的分级高速缓存,诸如L1高速缓存、L2高速缓存、L3高速缓存,等等。
实例图形处理系统112包括局部着色器116和外壳着色器120中的一者或两者,其中局部着色器用于对从输入汇编器113接收的顶点执行着色操作,并且外壳着色器用于对从输入汇编器113接收的曲面(或曲面的控制点)操作。局部着色器116和外壳着色器120在对象空间中操作。在一些变型中,外壳着色器120能够生成用于细分曲面的曲面细分因子,以及其它曲面参数或常数。在一些实施方案中,局部着色器116或外壳着色器120可实现为在诸如处理器、处理器核心、计算单元等等的一个或多个硬件部件上运行的软件。实例图形处理系统112的一些实施方案包括其它着色器,或用于执行类似于局部着色器116和外壳着色器120的功能的着色器的不同组合。
在一些变型中,图形处理系统112还可包括用于处理高阶图元的曲面细分器125。在包括曲面细分器125时,曲面细分器125从外壳着色器120接收对象(诸如,曲面),并生成用于识别对应于输入对象的图元的信息,例如,通过基于由外壳着色器120提供到曲面细分器125的曲面细分因子对输入对象进行曲面细分。图元可包括点、线、三角形、四边形或其它多边形。细分输入曲面可包括生成区域位置和形貌,诸如点、线或表示输入曲面的三角形。因此,曲面细分器125在对象空间中操作。在一些变型中,曲面细分器125实现能够并发或并行地生成多个图元的多个曲面细分引擎(图1中未示出)。例如,曲面细分引擎可基于从外壳着色器120接收的对象和曲面细分因子而独立地生成图元。曲面细分器125的一些实施方案被实现为固定功能硬件,所述硬件被配置为执行曲面细分。然而,曲面细分器125还可以其它硬件、固件、软件或它们的组合实现。
曲面细分器125提供整数索引到转换块130。曲面细分器125提供的整数索引指示曲面细分器生成的点或顶点的部分。整数索引通常被称为“栅格(u,v)”坐标。转换块130将栅格(u,v)值变换为范围[0..1]内的曲面坐标(u,v)。曲面坐标(u,v)定义内部曲面参数空间中点或顶点的精确位置。这些坐标可用于计算3D视图空间中的细分顶点几何坐标。根据本领域中的一般用法,3-D视图空间中的坐标在下文中被称为(x,y,z,w)。在示出的实施方案中,位置区域着色器(DS_POS)131从转换块130接收曲面坐标(u,v)。位置区域着色器131应用函数(诸如二次多项式或三次多项式)到曲面坐标(u,v),以生成用于表示顶点位置的顶点参数,例如,参数(x,y,z,w)。随后,由位置区域着色器131生成的参数存储在高速缓存115中,以供实例图形处理系统112中的其它实体的后续访问。
曲面细分器125还提供指示图元的顶点到图元汇编器135。包括多个曲面细分引擎的曲面细分器125的变型可将指示多个图元的多组顶点并发或并行地提供到图元汇编器135。图元汇编器135汇编所提供的顶点,并且执行一个或多个剔除流程,以便从管线移除对实例图形处理系统112生成的最终图像没有任何影响的图元。例如,过小以致于不影响像素值或仅影响屏幕的边界框外部的像素值的图元通常被图元汇编器135安全地丢弃。再例如,图元汇编器135可使用背面剔除技术来剔除背向用于生成将在屏幕上产生的图像的视点的图元。在一些变型中,图元汇编器135还可实现其它丢弃、剔除、剪取、或裁剪技术。
图元汇编器135基于图元的面积而选择性地路由图元到不同面积的光栅化器。图元汇编器135比较图元的面积与表示屏幕上像素数量的阈值面积。例如,阈值面积可对应于2x 2像素布置。图元的面积可由涵盖图片所必要的边界框的最小面积表示。如果图元的面积小于或等于阈值面积,则图元汇编器135路由图元到多个小光栅化器(为了清楚起见,图1中未示出)中的一者,所述小光栅化器被配置为对由较小边界框(诸如,2x 2像素边界框)涵盖的图元操作。例如,表示提供到小光栅化器(和第二光栅化器生成的中间结果)的图元所需的输入坐标范围由少数量个位表示,例如,对应于2x 2像素边界框的阈值面积,10-20个位。多个较小光栅化器对图元并发或并行地操作。例如,每个较小光栅化器枚举图元内部的一个或多个像素(可称之为细分四边形,SDQ)、内插像素的(u,v,z)值,并且用经光栅化的像素填充一组输出碎片。尽管图元汇编器135被描述为包括大光栅化器和小光栅化器(并且基于单个阈值面积而路由图元到大或小光栅化器),图元汇编器135的一些变型可包括两个以上不同尺寸的光栅化器。在这些变型中,基于图元的面积与多个不同阈值面积的比较,图元汇编器135路由图元到不同尺寸的光栅化器。
扫描转化器140从在图元汇编器135中实现的多个小光栅化器接收微多边形或碎片。碎片被并发或并行地提供到扫描转化器140。扫描转化器140能够执行扫描转化,以将多边形转化为表示多边形的像素。例如,扫描转化器140可处理所接收的碎片,以每时钟周期八个或更多个像素的速率生成输出碎片,所述碎片随后被提供到属性区域着色器(DS_ATTR)145。在一些变型中,属性区域着色器145从输入汇编器113接收曲面信息。属性区域着色器145能够利用所接收的碎片(以及从输入汇编器113接收的信息(如果可用))来计算所接收的碎片(或像素)的法线、碎片(或像素)的颜色值、碎片(或像素)的纹理坐标,或碎片(或像素)的其它属性。随后,经着色的碎片(或像素)的属性被提供到像素着色器150,所述像素着色器可对输入碎片(或像素)执行操作,诸如照明、绘图、遮蔽、确定半透明性,等等。因此,像素着色器150在经光栅化的图像空间中操作。在一些变型中,扫描转化器140、属性区域着色器145或像素着色器150绕过前述操作中的一些或全部,因为所述操作已由小光栅化器执行,如本文所论述。
如果图元汇编器135确定图元的面积大于阈值面积,则图元汇编器135路由图元到相对大的光栅化器155,其中使用足够硬件实现所述光栅化器以对大于2x 2像素的边界框所涵盖的图元执行操作。例如,较大图元可在图像空间中在由16到24个位表示的范围内的输入坐标表示。因此,在此实例中,大光栅化器能够对在由40到48个位表示的范围内的中间结果操作。在一些变型中,图元汇编器135每时钟周期提供一个图元到在大光栅化器155中实现的属性区域着色器160。任选地,属性区域着色器160可与属性区域着色器145使用相同的硬件、固件或软件来实现。在一些变型中,属性区域着色器160从输入汇编器113接收曲面信息。属性区域着色器160能够利用所接收的图元(以及来自输入汇编器113的信息(如果可用))来计算图元的属性,诸如法线、颜色值、纹理坐标,等等。随后,将属性存储在高速缓存115中。
扫描转化器165还从图元汇编器135接收图元。在一些变型中,扫描转化器165与扫描转化器140使用相同的硬件、固件或软件来实现。如本文所论述,扫描转化器165可处理所接收的图元,并且以预定像素率生成提供到像素着色器170的像素(任选地,在对像素执行深度测试之后)。像素着色器170使用从高速缓存115撷取的图元属性来着色像素。着色像素或经栅格化的图元包括如下操作,诸如对对应图元的顶点处定义的对应值内插表示像素处颜色或亮度的值,所述值根据着色器实现的一个或多个算法与纹理或其它数据组合。因此,像素着色器170在经光栅化的图像空间中操作。在一些变型中,像素着色器170与像素着色器150使用相同的硬件、固件或软件来实现。
图2是根据一些实施方案的用于确定对象205的边界框和深度值的实例边界体积200的框图。例如,边界体积200确定对象205的边界框和深度值,诸如图1中所示的输入汇编器113提供的曲面,或使用图元汇编器135实现的小光栅化器或图1中所示的大光栅化器155光栅化的图元。以坐标系统210描绘边界体积200,所述坐标系统210经定向以使得X坐标和Y坐标位于用于显示对象205的经渲染图像的屏幕平面中。坐标系统210的Z坐标经定向以指示距用于渲染对象205的图像的虚拟摄像机的视点的距离。在一些实施方案中,坐标系统210的原点对应于虚拟摄像机的位置。
边界框215(由粗虚线指示)由对象205投射到屏幕的X-Y平面所跨越的X坐标的范围220和对象205投射到屏幕的X-Y平面所跨越的Y坐标的范围225定义。对象205的深度值包括近z值230和远z值235,所述近z值230表示对象205最靠近虚拟摄像机的部分的Z坐标,而所述远z值235表示对象205最远离虚拟摄像机的部分的Z坐标。如本文所论述,边界框215可由像素布置表示。随后,图元的面积可与对应于边界框215的阈值面积比较,以便选择性地路由图元到不同光栅化器。
图3是根据一些实施方案的图形处理系统的部分300的第一实例的框图。部分300包括曲面细分器305,诸如图1中所示的曲面细分器125。因此,曲面细分器305的一些变型能够生成用于标识对应于输入对象的图元的信息,例如,通过基于曲面细分因子而细分输入对象。用于标识图元的信息包括定义与图元相关联的点或顶点的信息和用于特征化诸如四边形的多边形的信息。定义点或顶点的信息被提供到着色器310。例如,曲面细分器305每时钟周期可提供用于定义八个点或顶点的信息到着色器310。用于特征化诸如四边形的多边形的信息被提供到图元汇编器315,所述图元汇编器315对应于图1中所示的图元汇编器135。例如,曲面细分器305每时钟周期可提供用于特征化八个四边形的信息到图元汇编器315。
着色器310包括变换元件311,以将表示点或顶点的位置的顶点参数(例如,参数(x,y))变换为曲面坐标(u,v)。着色器310中的区域着色器312用于在提供点或顶点到缓冲器320之前对点或顶点执行着色操作。在一些变型中,缓冲器320以诸如图1中所示的存储器114的存储器或诸如图1中所示的高速缓存115的高速缓存实现。在一些实施方案中,曲面边缘的顶点与曲面内部的顶点以不同方式索引,因此使用存储器和缓冲器320中的不同基础地址引用不同顶点。边缘顶点和内部顶点的地址在本文中称之为“顶部”、“底部”、“左侧”、“右侧”和“内部”。
图元汇编器315包括点提取块325,所述点提取块325可从缓冲器320撷取定义点或顶点的信息。例如,点提取块325可提供存储在缓冲器320中的点或顶点的地址,以及致使缓冲器320提供所请求的点或顶点到图元汇编器315中实现的一组寄存器330的指令或请求。寄存器330与不同类型的顶点相关联,例如,“顶部”、“底部”、“左侧”、“右侧”和“内部”。点提取块325还提供控制信号到复用器335,所述复用器335从寄存器330接收信息作为输入。控制的值确定输入(例如,寄存器330中的一者的内容),所述输入由复用器335输出。
从复用器335输出的信息被提供到剔除块340,所述剔除块340对曲面细分器305提供到图元汇编器315的四边形执行背面剔除。剔除块340的一些实施方案还被配置以执行其它类型的剔除、裁剪、剪取,等等。将幸免于剔除过程的四边形从块340发射到界框减小块345。比较四边形的面积与由像素的数量和布置指示的阈值面积。例如,可比较四边形的面积可与2x 2像素布置。大于阈值面积的四边形被提供到大光栅化器(LR)350以供光栅化。小于阈值面积的四边形的边界框缩小成对应于阈值面积的尺寸。例如,小于2x 2像素布置的四边形的边界框可缩小成2x 2的尺寸。边界框缩小还可包括从四边形的顶点坐标减去边界框的原点值。
在边界框缩小后,小于阈值面积的四边形被提供到多个小光栅化器355,所述小光栅化器355能够并发或并行地光栅化小四边形。例如,图元汇编器315可包括被配置为并行光栅化八个四边形的小光栅化器355。随后,在大光栅化器LR 350中光栅化大四边形和在小光栅化器SR 355中光栅化小四边形生成的像素被提供到复用器360,所述复用器360将像素流合并成单个流。所合并的像素流被提供到扫描转化器365,所述扫描转化器365对应于图1中所示的扫描转化器140、165的一些实施方案。尽管在图3中所示的实施方案中大光栅化器LR 350和小光栅化器SR 355处置四边形的独立流,大光栅化器350的一些变型与小光栅化器SR 355串联实现,如下文所论述。在这种情况下,大光栅化器LR 350绕过对小光栅化器SR355生成的像素执行一些或全部光栅化操作。
图4是根据一些实施方案的图形处理系统的部分400的第二实例的框图。部分400包括与图3中所示的部分300的第一实例中的对应实体类似或相同的若干实体。这些实体以相同附图标号指示。例如,部分400包括曲面细分器305、着色器310、图元汇编器315、缓冲器320、点提取块325、一组寄存器330、复用器335、剔除块340,以及扫描转化器365。
部分400不同于图3中所示的部分300,因为部分400包括与大光栅化器410串联实现的多个小光栅化器405。因此,部分400包括边界框缩小块401,所述边界框缩小块401基于图元面积与阈值面积的比较而选择性地路由图元到小光栅化器405或复用器415大于阈值面积的四边形被直接提供到复用器415。小于阈值面积的四边形的边界框由边界框缩小块401缩小成对应于阈值面积的尺寸。例如,小于2x 2像素布置的四边形的边界框可缩小成2x2的尺寸。边界框缩小还可包括从四边形的顶点坐标减去边界框的原点值。
在边界框缩小后,将小于阈值面积的四边形提供到多个小光栅化器405,所述小光栅化器405能够并发或并行地光栅化小四边形。例如,图元汇编器315可包括被配置为并行光栅化八个四边形的小光栅化器405。随后,在小光栅化器405中光栅化小四边形生成的像素被提供到复用器360,所述复用器360将小光栅化器405生成的经光栅化的像素流与大四边形合并成单个流,随后提供到大光栅化器410。流中的大四边形由大光栅化器410光栅化以生成像素。大光栅化器410绕过对小光栅化器405生成的像素流执行一些或全部操作,因为小光栅化器405已进行必要的光栅化中的一些或全部。随后,大光栅化器410输出被提供到扫描转化器365的像素流。
图5是根据一些实施方案的图形处理系统的部分500的框图,所述图形处理系统包括带有多个曲面细分引擎510的曲面细分器505。部分500可用于实现图1中所示的实例图形处理系统112的对应部分。为了清楚起见,仅用附图标号指示了一个曲面细分引擎510。曲面细分器505接收输入对象的流,诸如输入汇编器生成的曲面。每个曲面细分引擎(TE)510能够独立地基于一组曲面细分因子而细分输入对象。因此,曲面细分引擎510可在每个时钟周期并发或并行地细分多个输入对象,以生成多个图元。随后,曲面细分引擎510生成的图元被提供到图元汇编器515。
路由器520接收曲面细分引擎510生成的图元。例如,路由器520每个时钟周期可从曲面细分引擎510接收八个四边形。路由器520被配置为比四边形的面积与阈值面积,随后基于比较选择性地路由四边形。大于阈值面积的四边形被路由到大光栅化器525,所述大光栅化器525被配置为光栅化所接收的四边形并提供像素流到扫描转化器530,如本文所论述。小于阈值面积的四边形被路由到边界框缩小块535,所述边界框缩小块535被配置为将四边形的边界框缩小成对应于阈值面积的尺寸。随后,边界框缩小块535提供边界框已缩小的四边形到多个小光栅化器540中的一者以供光栅化。小光栅化器540可并发或并行地光栅化所接收的四边形,这样一来图元汇编器515可处理较大体积的四边形。小光栅化器540生成的像素流被提供到扫描转化器545,在不同变型中,所述扫描转化器545可与扫描转化器530相同或不同。因此,选择性地路由小四边形到小光栅化器540增大图元汇编器515的吞吐量,并且降低图元汇编器515成为用于实现多个曲面细分引擎510的图形处理系统中的瓶颈的可能性。
图6是根据一些实施方案的并行光栅化器600的框图。并行光栅化器600包括用于光栅化输入图元的多个小光栅化器605。为了清楚起见,仅用附图标号指示了一个小光栅化器605。并行光栅化器600可用于实现图3中所示的小光栅化器355、图4中所示的小光栅化器405和图5中所示的小光栅化器540的一些实施方案。并行光栅化器600中的八个小光栅化器605对在一些变型中称之为细分四边形的八个图元同时、并发或并行地操作。例如,小光栅化器605可对对应数量个输入四边形Q0、Q1、Q2、Q3、Q4、Q5、Q6、Q7操作。八个小光栅化器605在每个时钟周期能够从单个像素四边形生成八个像素。然而,小光栅化器的数量可更大或更小,由此使得并行光栅化器600的一些实施方案在每一时钟周期可处理更大数量或更少数量个输入图元。
横杆开关610分配输入四边形到对应数量个队列615(为了清楚起见,仅用附图标记指示了一个队列615)。队列615的深度被选择以补偿处理输入四边形所需的等待时间。例如,对于4x 4边界框,处理每个四边形的边界框可耗费长达四个时钟周期,而对于8x 8边界框,耗费长达16个时钟周期。因此,队列615可被配置有四个条目的深度来保持4x 4边界框的四个待定四边形,以及16个条目的深度来保持8x 8边界框的16个待定四边形。
控制单元620可提供信令到横杆开关610和队列615中的一个或多个,由此使得一个或多个输入四边形被提供到对应队列615。在一些变型中,控制单元620被限制为每个时钟周期仅推送一个四边形到每个队列615。控制单元620从小光栅化器605接收反馈信息,诸如指示小光栅化器605已完成光栅化一个四边形并且可用于从队列615中的对应一个撷取下一四边形的信息。可用小光栅化器605从对应队列615撷取四边形。控制单元620使用所接收的信息来生成致使横杆开关610提供四边形到队列615所需的信令,所述队列615提供四边形到可用的小光栅化器605。
每个小光栅化器605被配置为接收四边形,并为所述四边形配置一组函数。如本文所用,术语“函数”是指定义部分四边形的线性函数。例如,半平面函数是描述半平面或线的表达,可用于表示四边形的边缘。四个函数用于表示四边形的四个外部边缘。一个附加函数用于表示四边形的对角线。随后,基于小光栅化器605正处理的四边形的函数而确定覆盖遮罩。例如,小光栅化器605可配置针对2x 2像素组(为了清楚起见,仅用附图标号指示了一个四边形625)的覆盖遮罩,所述遮罩要求每个函数的半平面扩展像素的面积。小光栅化器605还准备了坐标(u,v,z)的梯度以执行诸如纹理值的特征的内插法。随后,小光栅化器605枚举所覆盖的2x 2四边形625,并且使用2x 2四边形625内的函数值来组成覆盖遮罩。小光栅化器605还评估坐标(u,v,z)的值。
每个小光栅化器605在每一时钟周期期间输出2x 2四边形625、4位覆盖遮罩,以及坐标(u,v,z)的四组值到像素高速缓存630。将小光栅化器605生成的值缓存在像素高速缓存630中。在示出的实施方案中,在每一时钟周期添加多达八个2x2像素四边形到像素高速缓存630。因此,像素高速缓存630可实现储备(banking)方案以适应此像素四边形流。在一些情况下,被提供到像素高速缓存630的四边形625中的一个或多个重叠并互补。因此,像素高速缓存630可被配置为对四边形625分类并检查重叠的四边形625。在一些变型中,使用4x2像素图块来实现像素高速缓存630。像素高速缓存630还实现逐出策略,诸如以不同坐标覆写4x 2图块,如果高速缓存缺乏空间,则逐出全部4x 2覆盖遮罩,以及输出接口上的空闲时钟。像素高速缓存630中的4x 2像素图块可由一个或多个扫描转化器635、640撷取,或提供到一个或多个扫描转化器635、640,所述扫描转化器635、640基于像素的深度值(z)而对像素执行诸如碰撞剔除的操作。
小光栅化器605的一些实施方案被配置为根据光栅化器算法操作,诸如以下伪码所描述的光栅化器算法:
图7是根据一些实施方案的大图元700和对应大边界框705的图示。图元700是可由诸如图1中所示的曲面细分器125的曲面细分器生成并提供到诸如图1中所示的图元汇编器135的图元汇编器的四边形。边界框705由涵盖图元700的像素布置710定义(为了清楚起见,仅用附图标号指示了一个)。例如,边界框705由16x16的像素布置710定义。图元700的面积超出阈值面积,诸如图1中所示的图元汇编器135使用的阈值面积,以便选择性地路由图元到大光栅化器或一组小光栅化器。因此,图元700被路由到大光栅化器,所述大光栅化器被配置为处理较大边界框所涵盖的图元。
图8是根据一些实施方案的小图元800和大边界框805的图示。图元800是可由诸如图1中所示的曲面细分器125的曲面细分器生成并提供到诸如图1中所示的图元汇编器135的图元汇编器的四边形。边界框805由涵盖图元800的像素布置810定义(为了清楚起见,仅用附图标号指示了一个)。例如,边界框805由16x16的像素布置810定义。图元800的面积小于或等于阈值面积,诸如图1中所示的图元汇编器135使用的阈值面积,以便选择性地路由图元到大光栅化器或一组小光栅化器。因此,边界框805被缩小以生成图元800的缩小边界框815,所述经缩小的边界框815随后被路由到一组小光栅化器中的一者,所述小光栅化器被配置为处理由较小边界框涵盖的图元,如本文所论述。
图9是根据一些实施方案的基于图元面积而选择性地路由图元到大或小光栅化器的方法900的流程图。方法900在图1所示的图元汇编器135、图3和4中所示的图元汇编器315或图5中所示的图元汇编器515的一些实施方案中实现。
在框905,解码从曲面细分器接收的图元(诸如四边形)的顶点的连通性,以确定将要处理的下一顶点的位置原点。位置原点可以是先前值的再利用、边缘位置缓冲器的值、或内部位置缓冲器的值。在一些变型中,连通性的解码可以每时钟率八个四边形或更多执行。
在决定框910,图元汇编器确定四边形的面积是否大于最大像素率面积。最大像素率面积的实例包括2x 2像素布置、4x 4像素布置、8x 8像素布置等等确定的像素率。如果四边形的面积大于最大像素率面积,则将四边形发送(在框915)到大光栅化器以供光栅化。在一些变型中,将四边形以每时钟一个三角形的速率发送到大光栅化器。如果四边形的面积小于最大像素率面积,则方法900继续到框920。
在框920,缩小四变形的边界框。缩小边界框包括将边界框中像素的数量减小到对应于定义最大像素率面积的数量和布置的数量和布置。
在框925,从表示四边形中点的坐标减去边界框的原点。还可设置对角线函数以评估四边形的可视性,并且可向四边形应用背面剔除、安全丢弃和视口剪取。将幸免于剔除过程的四边形发射到一组队列中的一者,诸如图6中所示的队列615。随后,方法900继续到框930。
在框930,将存储在队列中的四边形发送到对应的小光栅化器以供光栅化。小光栅化器定义四边形的边缘功能,并且定义坐标(u,v,z)的内插参数。针对四边形定义粗略的覆盖遮罩,并且对所述覆盖遮罩执行迭代过程以生成2x 2像素四边形。生成用于2x 2像素四边形的坐标(u,v,z)的内插值。
在框935,将2x 2像素四边形存储在高速缓存中,诸如图6中所示的像素高速缓存630。例如,可将像素四边形存储在8-交错式像素高速缓存中,所述像素高速缓存使用4x 2像素图块并且实现对应逐出策略,如本文所论述。在框940,将存储在高速缓存中的像素四边形发送到扫描转化器,如本文中所论述。
在一些实施方案中,以上所描述的设备和技术被实现在包括一个或多个集成电路(IC)装置(也称为集成电路封装或微芯片)的系统中,诸如以上参考图1-8所描述的图形处理系统。电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具可用于设计和制造这些IC设备。这些设计工具通常表现为一个或多个软件程序。所述一个或多个软件程序包括可由计算机系统执行的代码,以便操纵计算机系统来操作表示一个或多个IC设备的电路的代码,从而执行相应过程的至少一部分来设计或改动加工系统,以便制造电路。这个代码可包括指令、数据或指令和数据的组合。表示设计工具或制造工具的软件指令通常存储在可由计算系统访问的计算机可读存储介质中。同样,代表IC设备的设计或制造的一个或多个阶段的代码可以存储在相同的计算机可读存储介质或不同的计算机可读存储介质中并且可以从其中进行访问。
计算机可读存储介质可以包括计算机系统在使用期间可访问以向计算机系统提供指令和/或数据的任何非暂态存储介质或非暂态存储介质的组合。此类存储介质可包括但不限于光学介质(例如,压缩光盘(CD)、数字通用光盘(DVD)、蓝光光盘)、磁性介质(例如,软盘、磁带或磁性硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存)或基于微机电系统(MEMS)的存储介质。计算机可读介质可嵌入在计算系统中(例如,系统RAM或ROM)、固定地附接至计算系统(例如,磁性硬盘驱动器)、可移除地附接至计算系统(例如,光盘或基于通用串行总线(USB)的闪存)或经由有线或无线网络而连接至计算机系统(例如,网络可存取储存器(NAS))。
在一些实施方案中,上述技术的某些方面通过执行软件的处理系统的一个或多个处理器来实现。所述软件包括存储或以其它方式有形地体现在非暂态计算机可读存储介质上的一个或多个可执行指令集。所述软件可包括指令和某些数据,所述指令和数据在由一个或多个处理器执行时操纵所述一个或多个处理器来执行上述技术的一个或多个方面。非暂态计算机可读存储介质可包括:例如,磁盘或光盘存储装置、固态存储装置诸如闪存、高速缓存、随机存取存储器(RAM)或一种或多种其它非易失性存储器装置等。存储在非暂态计算机可读存储介质上的可执行指令可以是源代码、汇编语言代码、目标代码或可由一个或多个处理器解译或以其它方式执行的其它指令格式。
应注意,并非以上在一般说明中描述的所有活动或元件都是需要的,具体活动或设备的一部分可能是不需要的,并且除所描述的活动或元件之外,可以执行一个或多个其它活动或者包括一个或多个其它元件。此外,列出活动的顺序并不一定是执行它们的顺序。另外,已经参考具体实施方案描述了概念。然而,本领域的普通技术人员应理解,在不背离如以下权利要求中阐述的本公开范围的情况下,可做出各种修改和改变。因此,本说明书和附图将视为说明性而非限制性的,并且所述此类修改意图包括在本公开的范围内。
以上已经参考具体实施方案描述了益处、其它优点以及问题的解决方案。然而,所述益处、优点、问题的解决方案,以及可使得任何益处、优点或解决方案出现或变得更为显著的任何特征,都不应解释为是任何或所有权利要求的关键、必需或必要特征。此外,以上所公开的特定实施方案仅为说明性的,因为所公开的主题可以受益于本文教义的本领域的技术人员显而易见的不同但等效的方式来修改和实践。除了如以下权利要求中所描述之外,并不旨在限制本文示出的构造或设计的细节。因此,明显的是,以上所公开的特定实施方案可更改或修改,并且所有此类变型被认为在所公开的主题的范围内。因此,本文所寻求的保护如以下权利要求中所阐述。
Claims (15)
1.一种方法,其包括:
基于图元的面积,选择性地路由所述图元(700,800)到第一光栅化器(155,350,410,525)或多个第二光栅化器(355,405,540,605)中的一者,其中所述多个第二光栅化器对不同图元并发地操作。
2.如权利要求1所述的方法,其中选择性地路由所述图元包括:
响应于所述图元的所述面积大于基于预定数量个像素的阈值面积,路由所述图元到所述第一光栅化器;以及
响应于所述图元的所述面积小于所述阈值面积,路由所述图元到所述多个第二光栅化器中的一者。
3.如权利要求2所述的方法,其中选择性地路由所述图元到所述多个第二光栅化器中的一者包括在提供所述图元到所述多个第二光栅化器中的一者之前,将所述图元的边界框(215,705,805)缩小成所述预定数量个像素。
4.如权利要求3所述的方法,其中选择性地路由所述图元到所述多个第二光栅化器中的一者还包括在提供所述图元到所述多个第二光栅化器中的一者之前,从表示所述图元的点的坐标减去所述边界框的原点。
5.如权利要求4所述的方法,其中选择性地路由所述图元到所述多个第二光栅化器中的一者还包括在提供所述图元到所述多个第二光栅化器中的一者之前,选择性地路由所述图元到横杆开关(610),所述横杆开关(610)分配所述图元多个队列(615)中的一者以存储表示图元的点或顶点的特征的值。
6.如权利要求5所述的方法,其中所述多个队列的深度被配置为补偿用于处理所述图元的所述经缩小的边界框内的坐标所要求的等待时间。
7.一种设备,其包括:
第一光栅化器(155,350,410,525);
多个第二光栅化器(355,405,540,605),所述多个第二光栅化器对不同图元并发地操作;以及
路由器(520),所述路由器(520)基于所述图元的面积而选择性地路由图元(700,800)到所述第一光栅化器或所述多个第二光栅化器中的一者。
8.如权利要求7所述的设备,其中所述路由器:
响应于所述图元的所述面积大于对应于预定数量个像素的阈值面积,路由所述图元到所述第一光栅化器;以及
响应于所述图元的所述面积小于所述阈值面积,路由所述图元到所述多个第二光栅化器中的一者。
9.如权利要求8所述的设备,其还包括:
边界框缩小块(401,345,535),所述边界框缩小块用以在提供所述图元到所述多个第二光栅化器中的一者之前,将所述图元的边界框(215,705,805)缩小成所述预定数量个像素。
10.如权利要求9所述的设备,其中所述边界框缩小块被配置为在提供所述图元到所述多个第二光栅化器中的一者之前,从表示所述图元的点的坐标减去所述边界框的原点。
11.如权利要求10所述的设备,其还包括:
多个队列(615),所述多个队列与所述多个第二光栅化器相关联,其中所述多个队列中的每个被配置为在提供所述图元到所述多个第二光栅化器中的一者之前,存储表示所述图元的点或顶点的特征的值;以及
横杆开关(610),所述横杆开关用以分配所述图元到所述多个队列中的一者。
12.如权利要求11所述的设备,其中所述多个队列的深度被配置为补偿用于处理所述图元的所述经缩小的边界框内的坐标所要求的等待时间。
13.如权利要求8所述的设备,其还包括:
曲面细分器(505),所述曲面细分器包括多个曲面细分引擎(510)以对输出图元并发地执行曲面细分,以便生成输出图元,以及
其中所述路由器被配置为基于所述输出图元的面积而选择性地路由所述输出图元到所述第一光栅化器或所述多个第二光栅化器中的一者。
14.一种方法,其包括:
使用多个第一光栅化器(355,405,540,605)并发地光栅化第一组图元(700,800);
使用第二光栅化器(155,350,410,525)并发地光栅化第二组图元(700,800);以及
其中所述第一组图元由经缩小的边界框(215,705,805)涵盖,所述经缩小的边界框的面积小于涵盖所述第二组图元的边界框的面积。
15.如权利要求14所述的方法,其还包括:
接收由大于所述经缩小的边界框的边界框涵盖的第三组图元,其中所述第三组包括所述第一组图元和所述第二组图元;以及
在使用所述多个第一光栅化器并发地光栅化所述第一组图元之前,将所述第一组图元的所述边界框缩小成所述经缩小的边界框。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/251,914 US10062206B2 (en) | 2016-08-30 | 2016-08-30 | Parallel micropolygon rasterizers |
US15/251,914 | 2016-08-30 | ||
PCT/US2017/049151 WO2018044909A1 (en) | 2016-08-30 | 2017-08-29 | Parallel micropolygon rasterizers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109716385A true CN109716385A (zh) | 2019-05-03 |
CN109716385B CN109716385B (zh) | 2020-08-25 |
Family
ID=61240654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052299.7A Active CN109716385B (zh) | 2016-08-30 | 2017-08-29 | 并行微多边形光栅化器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10062206B2 (zh) |
EP (1) | EP3507764A4 (zh) |
JP (1) | JP2019530069A (zh) |
KR (1) | KR102270750B1 (zh) |
CN (1) | CN109716385B (zh) |
WO (1) | WO2018044909A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2575503B (en) | 2018-07-13 | 2020-07-01 | Imagination Tech Ltd | Scalable parallel tessellation |
US11995767B2 (en) * | 2020-08-17 | 2024-05-28 | Intel Corporation | Apparatus and method for compressing ray tracing acceleration structure build data |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5977977A (en) * | 1995-08-04 | 1999-11-02 | Microsoft Corporation | Method and system for multi-pass rendering |
US20030234792A1 (en) * | 2002-06-25 | 2003-12-25 | Stephen Junkins | Polygon binning process for tile-based rendering |
US20100128314A1 (en) * | 2008-11-24 | 2010-05-27 | Xerox Corporation | Systems and methods for line width control and pixel retagging |
CN102667814A (zh) * | 2009-10-15 | 2012-09-12 | 辉达公司 | 一种保序分布式光栅化器 |
US20130021358A1 (en) * | 2011-07-22 | 2013-01-24 | Qualcomm Incorporated | Area-based rasterization techniques for a graphics processing system |
US8704836B1 (en) * | 2009-10-19 | 2014-04-22 | Nvidia Corporation | Distributing primitives to multiple rasterizers |
US20140152675A1 (en) * | 2012-12-05 | 2014-06-05 | Advanced Micro Devices, Inc. | Load Balancing for Optimal Tessellation Performance |
US8970584B1 (en) * | 2011-06-24 | 2015-03-03 | Nvidia Corporation | Bounding box-based techniques for improved sample test efficiency in image rendering |
CN104603844A (zh) * | 2012-10-08 | 2015-05-06 | 英特尔公司 | 减小的位计数多边形光栅化 |
US20150294498A1 (en) * | 2014-04-15 | 2015-10-15 | Qualcomm Incorporated | Stochastic rasterization using enhanced stencil operations on a graphics processing unit (gpu) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949280A (en) * | 1988-05-10 | 1990-08-14 | Battelle Memorial Institute | Parallel processor-based raster graphics system architecture |
US7551174B2 (en) | 2003-12-23 | 2009-06-23 | Via Technologies, Inc. | Method and apparatus for triangle rasterization with clipping and wire-frame mode support |
US9633458B2 (en) * | 2012-01-23 | 2017-04-25 | Nvidia Corporation | Method and system for reducing a polygon bounding box |
US9275498B2 (en) * | 2012-08-09 | 2016-03-01 | Qualcomm Incorporated | GPU-accelerated path rendering |
JP6073110B2 (ja) * | 2012-11-12 | 2017-02-01 | 株式会社ヴェルト | 3次元データ生成システム |
-
2016
- 2016-08-30 US US15/251,914 patent/US10062206B2/en active Active
-
2017
- 2017-08-29 WO PCT/US2017/049151 patent/WO2018044909A1/en unknown
- 2017-08-29 KR KR1020197003898A patent/KR102270750B1/ko active IP Right Grant
- 2017-08-29 CN CN201780052299.7A patent/CN109716385B/zh active Active
- 2017-08-29 JP JP2019511861A patent/JP2019530069A/ja active Pending
- 2017-08-29 EP EP17847379.9A patent/EP3507764A4/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5977977A (en) * | 1995-08-04 | 1999-11-02 | Microsoft Corporation | Method and system for multi-pass rendering |
US20030234792A1 (en) * | 2002-06-25 | 2003-12-25 | Stephen Junkins | Polygon binning process for tile-based rendering |
US20100128314A1 (en) * | 2008-11-24 | 2010-05-27 | Xerox Corporation | Systems and methods for line width control and pixel retagging |
CN102667814A (zh) * | 2009-10-15 | 2012-09-12 | 辉达公司 | 一种保序分布式光栅化器 |
US8704836B1 (en) * | 2009-10-19 | 2014-04-22 | Nvidia Corporation | Distributing primitives to multiple rasterizers |
US8970584B1 (en) * | 2011-06-24 | 2015-03-03 | Nvidia Corporation | Bounding box-based techniques for improved sample test efficiency in image rendering |
US20130021358A1 (en) * | 2011-07-22 | 2013-01-24 | Qualcomm Incorporated | Area-based rasterization techniques for a graphics processing system |
CN104603844A (zh) * | 2012-10-08 | 2015-05-06 | 英特尔公司 | 减小的位计数多边形光栅化 |
US20140152675A1 (en) * | 2012-12-05 | 2014-06-05 | Advanced Micro Devices, Inc. | Load Balancing for Optimal Tessellation Performance |
US9105125B2 (en) * | 2012-12-05 | 2015-08-11 | Advanced Micro Devices, Inc. | Load balancing for optimal tessellation performance |
US20150294498A1 (en) * | 2014-04-15 | 2015-10-15 | Qualcomm Incorporated | Stochastic rasterization using enhanced stencil operations on a graphics processing unit (gpu) |
Also Published As
Publication number | Publication date |
---|---|
JP2019530069A (ja) | 2019-10-17 |
US10062206B2 (en) | 2018-08-28 |
CN109716385B (zh) | 2020-08-25 |
KR20190039126A (ko) | 2019-04-10 |
WO2018044909A1 (en) | 2018-03-08 |
EP3507764A1 (en) | 2019-07-10 |
KR102270750B1 (ko) | 2021-06-29 |
EP3507764A4 (en) | 2020-03-11 |
US20180061124A1 (en) | 2018-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105453139B (zh) | 用于3d表面重建的稀疏gpu体素化 | |
JP4913823B2 (ja) | 拡張されたプリミティブの頂点キャッシュの処理を加速する装置 | |
CN104183005B (zh) | 图形处理单元和基于图块的渲染方法 | |
US10032308B2 (en) | Culling objects from a 3-D graphics pipeline using hierarchical Z buffers | |
US10546365B2 (en) | Single pass flexible screen/scale rasterization | |
EP3026633B1 (en) | Texture processing method and unit | |
TWI708208B (zh) | 圖形處理系統 | |
CN109690629A (zh) | 图元着色器 | |
US9530241B2 (en) | Clipping of graphics primitives | |
CN103871019B (zh) | 用于处理路径图像以促进光栅化的方法和设备 | |
CN110036414A (zh) | 在z-剔除之后去除或识别重叠片段 | |
CN109716385A (zh) | 并行微多边形光栅化器 | |
US11087511B1 (en) | Automated vectorization of a raster image using a gradient mesh with arbitrary topology | |
CN110084738A (zh) | 在扩展的图形处理管线中表示和处理几何形状的技术 | |
JP4165695B2 (ja) | 非多様体の陰関数表現方法のコンピュータプログラム | |
CN104050619B (zh) | 具有共享边缘的模板然后覆盖路径渲染 | |
US9858709B2 (en) | Apparatus and method for processing primitive in three-dimensional (3D) graphics rendering system | |
CN107689076A (zh) | 一种用于虚拟手术系统切割时的高效渲染方法 | |
KR101682296B1 (ko) | 3차원 프린터 장치 및 상기 장치에서의 3차원 오브젝트 배치 방법 | |
JP4691494B2 (ja) | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 | |
CN109887080A (zh) | 模型mesh数据生成三视图的方法及系统 | |
CN110570504A (zh) | 闭合符号绘制方法、装置、电子设备及存储介质 | |
US11488347B2 (en) | Method for instant rendering of voxels | |
CN116342778A (zh) | 混合式的光栅化装置和方法 | |
JP2011059735A (ja) | 画像処理装置、画像処理方法 |
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 |