通过在空间上和/或在时间上改变采样模式增强抗锯齿的制作方法_4

文档序号:9647034阅读:来源:国知局
在可用的GPC 208之间进行划分。如示例中所示,如果高速缓存块410(0)的十六个光栅块由四个不同的GPC 208处理,那么每个GPC 208可被指派处理高速缓存块410(0)的十六个光栅块中的四个。具体地,第一 GPC 208可被指派处理光栅块420(0)、420 (7)、420 (10)和420 (13)。第二 GPC 208可被指派处理光栅块420(1)、420 (4)、420 (11)和420 (14)。第三GPC 208可被指派处理光栅块420(2)、420 (5)、420 (8)和420 (15)。第四GPC 208可被指派处理光栅块420(3),420(6),420(9)和420(12)。在其他实施例中,给定高速缓存块内的不同的四个光栅块的处理可在GPC 208之间或计算机系统100内所包括的任何其他处理实体之间以任何技术上可行的方式进行分配。
[0082]现在参考回图3B,如上文所述,光栅385配置为基于世界空间几何体生成用于像素的覆盖数据。这样做时,光栅385配置为针对每个像素实现不同的采样模式,并且针对每个像素跨连续帧改变那些采样模式。例如,对于给定相邻像素对,光栅385可以针对给定帧针对那些像素实现一组两个不同的采样模式。然后,对于随后的帧,光栅385可以针对那些像素实现另一组两个不同的采样模式。这样,针对每个像素,所使用的采样模式在帧之间改变,并且此外,在相同帧内相对于相邻像素而改变。该通用方法在本文中可称为“多帧抗锯齿”或MFAA。
[0083]采用该方法,光栅385有效地增强了跨多帧针对每个像素的多重采样抗锯齿模式,而实际上不要求每像素的附加采样。例如,取代实现每像素N个样本,光栅385可以反而实现跨Μ帧每像素Ν/M个不同的样本,这总共产生Ν个样本。因为连续的帧是相对连贯的,这意味着图形对象典型地在帧之间没有显著移动,因此该方法可以使观察者感知到仿佛是采用较高阶多重采样抗锯齿所渲染而实际上是光栅385实现的较高质量的经渲染的图像。下面结合图5-9更详细地描述光栅385的该功能。
在空间上和/或在时间上改变采样模式
[0084]图5是根据本发明的一个实施例的、更详细示出图3Β的光栅单元的框图。如所示的,光栅单元385包括像素数据500、索引单元510、帧数据520、一组采样模式表530以及一组采样模式540。像素数据500包括数据,所述数据指定用于当前被图形处理管线350渲染以显示的帧内的每个像素的X和Y坐标。帧数据520包括与该帧相关联的帧号。
[0085]每个采样模式表530包括与特定帧号或与帧号的类型相关联的一组采样模式。例如,米样模式表530可以包括两个米样模式表,第一表包括用于奇数号帧使用的米样模式,并且第二表包括用于偶数号帧使用的采样模式。设备驱动程序103可以配置采样模式表530的编号,并设置每个采样模式表530。在实践中,设备驱动程序103可以包括两个采样模式表用于奇数号帧和偶数号帧使用,如上文所描述的,但是本领域技术人员将理解这类表的任意编号均落在本发明的范围内。
[0086]索引单元510配置为接收帧数据520并且随后基于帧号选择特定采样模式表530以为当前帧所用。索引单元510随后处理像素数据500,并且针对每个像素生成到所选择的采样模式表530的索引。所生成的索引指代所选择的采样模式表530内的条目编号。每个条目指示像素内的XY位置,在该处应由光栅385针对像素生成覆盖样本。采样模式340包括针对特定像素的所有这类XY位置。光栅385配置为基于与像素相对应的采样模式340针对该像素生成覆盖信息。下面还结合图6A-6B以示例的方式更详细描述上文一般描述的方法。
[0087]图6A-6B是根据本发明的各实施例的、图5的光栅单元在生成采样模式时所实施的操作的概念图。本示例涉及其中光栅385可在多达64个惟一的位置处对每个像素采样的配置。进一步地,该示例涉及多帧抗锯齿模式,在该模式中光栅385实现每像素四个样本。因此,下面所讨论的示例性场景阐述仅采用4x采样位置的8x抗锯齿模式。本领域技术人员将理解本文所讨论的示例无意以任何方式限制本发明的范围。光栅385可配置为在任意数目的位置处对像素进行采样,并实现每像素任意数目的样本。
[0088]在图6A中,索引单元510接收来自像素数据500的Xpos和Ypos。Xpos和Ypos一起反映单个像素的XY位置。索引单元510还接收来自帧数据520的帧号(frm#)。基于帧号,索引单元510选择采样模式表530(0)。随后,索引单元解析Xpos和Ypos以生成到采样模式表530(0)的索引。所生成的索引选择该表中所包括的一系列条目。每个条目包括X位置和Y位置,其分别驻留在X列(Xcol)和Y列(Ycol)。在一个实施例中,索引单元510从Xpos和Ypos解析最低有效位(LSB)的数目,并且随后组合这些LSB以生成索引。如所示的,索引单元510可以随后访问采样模式表530 (0)内的一系列条目,以产生用于处在Xpos和Ypos处的像素的采样模式540(0)。图6B示出了关于不同的像素所实施的类似过程。
[0089]在图6B中,索引单元510接收来自像素数据500的Xpos’和Ypos’。Xpos’和Ypos’反映与上文结合图6A所讨论的像素相邻的像素的XY位置。索引单元解析Xpos’和Ypos’以生成到采样模式表530(0)的另一索引,其选择该表中所包括的不同系列的条目。如所示的,索引单元510可以随后访问采样模式表530(0)内的另一系列条目,以产生用于该相邻像素的米样模式540 (0) ’。
[0090]总地参考图6A-6B,索引单元510可以针对帧内的每个不同像素实施上述过程,从而针对相邻像素生成不同的采样模式。此外,索引单元510可以针对不同的帧选择不同的采样模式表530。因此,针对给定像素所选择的采样模式540在帧之间可以变化。一般地,针对给定像素所使用的不同采样模式540的数目反映由设备驱动程序103所配置的抗锯齿的程度。
[0091]例如,在图6A-6B中,光栅385配置为实施MFAAx8或8x多帧抗锯齿。在这种情况下,光栅385将跨两个连续的帧、对于每帧、在每像素内的四个位置处生成样本。此外,有效多重采样抗锯齿的程度等同于每帧每像素样本的数目乘以采样模式改变所跨的帧的数目。因此,在本文所讨论的示例中,有效8x多重采样是通过跨两个连续的帧分配四个不同的采样位置而达成。
[0092]本领域技术人员将理解可以通过调整每像素样本的数目、采样模式改变所跨的帧的数目来实现任何具体的MFAA模式。例如,为了实现MFAAx6,光栅385可以跨三个连续的帧在不同的位置处针对每个像素生成样本。仅出于示例性目的而提供本文所描述的具体值,并且无意以任何方式限制本发明的范围。图7A-7D阐述各种不同的采样模式,其可以用来生成样本以计算覆盖信息。
[0093]图7A-7D示出根据本发明的各实施例的、可由图5的光栅单元生成的示例性采样模式。一般情况下,图7A-7D中的每个示出四个采样模式,其可被实现以针对四个相邻的像素生成样本。此外,每个采样模式指示在特别编号的帧期间活跃的不同的采样位置。例如,在这些图中所示的一些采样位置可以在偶数号帧期间活跃,而其他的在奇数号帧期间活跃。下面的示例仅出于示例性目的而提供,并且无意以任何方式限制本发明的范围。
[0094]图7A示出在其中lx多重采样抗锯齿模式(每像素一个样本)有效地提供2x多帧抗锯齿模式的场景。如所示的,像素组700包括像素702、704、706和708。光栅385可以在多达256个位置处针对每个像素生成覆盖样本。对于每一帧,光栅385仅生成每像素一个覆盖样本。然而,该一个样本的位置跨奇数号帧和偶数号帧而改变。
[0095]例如,光栅385可以针对像素702在处理偶数号帧时在位置(4,4)处生成覆盖样本,并且随后在处理奇数号帧时针对该像素在位置(12,12)处生成覆盖样本。此外,因为像素702、704、706和708中的每一个驻留在帧的不同XY位置处,所以针对每个这类像素所使用的采样模式可以相对于相邻像素而改变。例如,给定帧内的像素702和704具有不同的采样模式。然而,给定帧内的像素704和706具有相同的采样模式。图7B-7D示出可使用本文所讨论的技术来实现的较高阶MFAA。
[0096]图7B示出在其中2x多重采样抗锯齿模式有效地提供4x多帧抗锯齿模式的场景。如所示的,像素组710包括像素712、714、716和718。对于每一帧,光栅385生成每像素两个覆盖样本,其中那些样本的位置跨奇数号帧和偶数号帧而改变。这样,4x MFAA可以通过跨两个连续的帧分配2x个样本来实现。
[0097]图7C示出在其中4x多重采样抗锯齿模式有效地提供8x多帧抗锯齿模式的场景。如所示的,像素组720包括像素722、724、726和728。对于每一帧,光栅385生成每像素四个覆盖样本,其中那些样本的位置跨奇数号帧和偶数号帧而改变。这样,8x MFAA可以通过跨两个连续的帧分配4x个样本来实现。
[0098]图7D示出在其中8x多重采样抗锯齿模式有效地提供16x多帧抗锯齿模式的场景。如所示的,像素组730包括像素732、734、736和738。对于每一帧,光栅385生成每像素八个覆盖样本,其中那些样本的位置跨奇数号帧和偶数号帧而改变。这样,16x MFAA可以通过跨两个连续的帧分配8x个样本来实现。
[0099]总地参考图7A-7D,出于示例性目的而提供本文所示出的示例性采样模式。光栅385可以实现种种不同的采样模式,以任何技术上可行的方式分配,可跨任意数目的连续帧而改变。图8和图9以逐步骤的方式描述光栅385的通用操作。
[0100]图8是根据本发明的一个实施例的、用于跨不同帧针对相邻像素生成不同的采样模式的方法步骤的流程图。虽然结合图1-7D的系统描述方法步骤,但是本领域技术人员将理解配置为以任何顺序实施方法步骤的任何系统均在本发明的范围内。
[0101]如所示的,方法800开始于步骤802,在该步骤,光栅385内的索引单元510识别与第一帧相关联的采样模式表530。这样做时,索引单元510可以解析帧数据520以识别与当前帧相关联的帧号,并且随后基于该编号选择采样模式表。在步骤804,索引单元510从所选择的采样模式表中选择第一组采样模式,用于针对相邻的像素生成覆盖信息。在一些实施例中,第一组采样模式可以包括针对每个相邻像素的不同的采样模式。在步骤806,光栅385基于第一组采样模式针对相邻的像素生成覆盖样本。
[0102]在步骤808,光栅385继续第二帧。作为响应,帧数据520可被更新以反映与第二帧相关联的新的帧号。在步骤810,光棚.385内的索引单兀510识别与第—■帧相关联的另一采样模式表530。索引单元510可以解析经更新的帧数据520以识别与第二帧相关联的编号,并且随后基于该编号选择新的采样模式表。在步骤812,索引单元510从所选择的采样模式表中选择第二组采样模式,用于针对相邻的像素生成覆盖信息。第二组采样模式可以包括针对每个相邻像素的不同的采样模式。在一些实施例中,第二组采样模式可以反映第一组采样模式的位置变换(transposit1n)。在步骤814,光栅385基于第二组采样模式针对相邻的像素生成样本。
[0103]通过实现方法800,光栅385可以在逐帧(frame-by-frame)的基础上针对每个像素独立地配置采样模式。该方法充分灵活地实现了大范围的不同多帧抗锯齿模式,而不会在典型地采用常规多重采样方法所经历的开销上遭受大幅度增长。图9更详细地描述索引单元510的功能。
[0104]图9是根据本发明的一个实施例的、用于针对像素生成采样模式的方法步骤的流程图。虽然结合图1-7D的系统描述方法步骤,但是本领域技术人员将理解配置为以任何顺序实施方法步骤的任何系统均在本发明的范围内。
[0105]如所示的,方法900开始于步骤902,在该步骤,索引单元510确定当前帧的帧号。在步骤902,索引单元510可以解析帧数据以确定帧号。在步
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1