图形处理单元、系统芯片和数据处理系统的制作方法_4

文档序号:8396363阅读:来源:国知局
定义为第一矢量和第二矢量的外积,并且(第一矢量?第二矢量)可定义为第一矢量和第二矢量的内积。另外,‘η’可定义为法向矢量。
[0143]当第一图元O的三个顶点0Α、0Β和Oc以及第二图元P的三个顶点VA、VB和Vc满足下面的公式I至公式3时,可见性测试机161可确定第二图元P被包括在第一图元O中。当第一图元O的三个顶点0A、0B和O。以及第二图元P的三个顶点VA、VB和V。不满足下面的公式I至公式3中的任一个时,可见性测试机161可确定第二图元P没有被包括在第一图元O中。
[0144][公式I]
[0145](Ob-Oa) X (Va-Oa).n ^ O
[0146][公式2]
[0147](Oc-Ob) X (Vb-Ob).n ^ O
[0148][公式3]
[0149](Oa-Oc) X (Vc-Oc).n ^ O
[0150]公式I中的‘(Ob-Oa) ’、公式2中的‘(Oc-Ob) ’和公式3中的‘(0Α_0。) ’可对应于第一图元O的三角形关联信息。可从第一图元O的位置信息和第二图元P的位置信息来计算公式I中的‘ (Va-Oa) ’、公式2中的‘ (Vb-Ob) ’和公式3中的‘ (Vc-Oc) ’。
[0151]在可见性测试的深度比较处理中,当第二图元P被包括在第一图元O中时,可见性测试机161可将第一图元O的各个顶点的Z坐标与第二图元P的各个顶点的Z坐标进行比较。
[0152]例如,参照图6,当第二图元P被包括在第一图元O中时,可见性测试机161可将第一图元O的各自三个顶点0A、Ob和Oc的Z坐标与第二图元P的各自三个顶点VA、Vb和Vc的Z坐标进行比较,以确定第二图元P是否被第一图元O遮挡。如果假设Z坐标的值越小与用户相距的距离就越短的话,则当第二图元P的三个顶点\、Vb和\的Z坐标中的最小的一个大于第一图元O的三个顶点0A、Ob和O。的Z坐标中的最大的一个时,可确定第二图元P被第一图元O遮挡。也就是说,如果第二图元P的三个顶点VA、Vb和V。的Z坐标中的最小的一个大于第一图元O的三个顶点0A、Ob和O。的Z坐标中的最大的一个,则第一图元O与用户相距的距离更短并遮挡第二图元P。
[0153]可按顺序执行搜索处理、包含确定处理和深度比较处理。然而,在一些实施例中,搜索处理、包含确定处理和深度比较处理可并行地执行。
[0154]当确定第二图元P被第一图元O遮挡时,也就是说,当第二图元P是不可见图元时,可见性测试机161可将第二图元P从图3所示的一系列图形流水线中去除。当确定第二图元P未被第一图元O遮挡时,也就是说,当第二图元P是可见图元时,可见性测试机161可将与第二图元P相关的信息输出至更新确定单元162。
[0155]更新确定单元162可基于执行可见性测试的结果来确定是否将第二图元P的位置信息存储在可见性缓冲器395中。也就是说,更新确定单元162基于执行可见性测试的结果来确定是否将第二图元P用作遮挡物。当第二图元P存储在可见性缓冲器395中时,存储的第二图元P可用作在后续处理中输入的另一第二图元的第一图元(遮挡物)。
[0156]在图7中,更新确定单元162可基于第二图元P的三个顶点\、Vb和V。的每一个的X坐标、Y坐标和Z坐标来计算第二图元P的面积Area、X轴长度Lengthl和Y轴长度Length20
[0157]第二图元P的面积Ar ea可为第二图元P的内面积。第二图元P的X轴长度Length I可为第二图元P的顶点和\的X坐标中的最大X坐标与最小X坐标之间的差。第二图元P的Y轴长度Length2可为第二图元P的顶点VA、VB和V。的Y坐标中的最大Y坐标与最小Y坐标之间的差。
[0158]另外,更新确定单元162可将计算出的第二图元P的面积Area与阈值面积进行比较,将计算出的第二图元P的X轴长度Lengthl与阈值X轴长度进行比较,并且将计算出的第二图元P的Y轴长度Length2与阈值Y轴长度进行比较。
[0159]如果第二图元P的面积Area、X轴长度Lengthl和Y轴长度Length2分别大于阈值面积、阈值X轴长度和阈值Y轴长度,则更新确定单元162可将第二图元P的位置信息存储在可见性缓冲器395中,并确定第二图元P将被用作遮挡物。也就是说,考虑到可见性缓冲器395的容量和通过可见性测试机161执行的计算量,仅使用其尺寸等于或大于预定尺寸的第二图元P作为遮挡物更加有效。
[0160]当确定将第二图元P用作遮挡物时,更新确定单元162可将与第二图元P有关的信息输出至更新单元165。当确定不将第二图元P用作遮挡物时,更新确定单元162可将与第二图元P有关的信息输出至图块划分单元170。
[0161]当确定接收到的与第二图元P有关的信息将被存储在可见性缓冲器395中时,更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395中。更新单元165基于下列中的至少一项将与第二图元P有关的信息存储在可见性缓冲器395中:屏幕空间是否被划分为多个区、第二图元P与屏幕空间的多个区之间的包含关系以及屏幕空间的多个区之间的层次关系。
[0162]当如图4所示图元剔除单元160不包括图5的初始三角形设置单元163时,与第二图元P有关的信息是第二图元P的位置信息。因此,更新单元165可将第二图元P的位置信息存储在可见性缓冲器395中,并控制如图3所示的三角形设置单元175将通过三角形设置单元175产生的第二图元P的三角形关联信息存储在可见性缓冲器395中。如上所述,在利用更新单元165控制三角形设置单元175的方法中,指示第二图元P是遮挡物的信息可被包括在被确定为遮挡物的第二图元P中。然而,本发明构思的示例实施例不限于此。在一些实施例中,更新单元165可沿着图4中的箭头指示的路径从三角形设置单元175接收通过三角形设置单元175产生的第二图元P的三角形关联信息,并将三角形关联信息与第二图元P的位置信息一起存储在可见性缓冲器395中。
[0163]当图元剔除单元160包括如图5所示的初始三角形设置单元163时,与第二图元P有关的信息是第二图元P的位置信息和三角形关联信息。更新单元165可将第二图元P的位置信息和三角形关联信息存储在可见性缓冲器395中。
[0164]当与第二图元P有关的信息被存储在可见性缓冲器395中时,更新单元165可将可见性缓冲器395看作一个区并将与第二图元P有关的信息存储在可见性缓冲器395中,而不将屏幕空间划分为多个区。
[0165]参照图8,为了将与第二图元P有关的信息存储在可见性缓冲器395中,更新单元165可将屏幕空间划分为多个区(例如,区Rl至区R16),将可见性缓冲器395划分为多个区(例如,与屏幕空间的区Rl至区R16相对应的各区),并将与第二图元P有关的信息存储在可见性缓冲器395的所述多个区中。
[0166]例如,当第二图元P按照如图8所示的方式布置在屏幕空间上时,更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395的与屏幕空间的区R4、区R6至区R8、区RlO至区R12和区R14至区R16相对应的各区中。
[0167]另外,更新单元165可根据第二图元P与屏幕空间的多个区Rl至R16之间的包含关系来存储与第二图元P有关的信息。
[0168]例如,更新单元165可将与第二图元P有关的信息仅存储在可见性缓冲器395的与第二图元P的区完全重叠的屏幕空间的区Rll所对应的区中,并且可不将与第二图元P有关的信息存储在可见性缓冲器395的屏幕空间的多个区Rl至R16中的与第二图元P部分重叠的屏幕空间的区R4、区R6至区R8、区R10、区R12和区R14至区R16所对应的各区中。因此,可提高可见性缓冲器395关于其容量的效率。
[0169]在一些实施例中,更新单元165可基于可见性缓冲器395的屏幕空间的多个区Rl至R16中的与第二图元P部分重叠的区所对应的区的面积来确定是否将与第二图元P有关的信息存储在可见性缓冲器395的该区中。
[0170]如图9所示,更新单元165可将屏幕空间划分为第一层次Hl和第二层次H2,其中,第一层次Hl被划分为m个区(例如,十六个区Rl至R16),第二层次H2被划分为η个区(例如,四个区R21至R24)。更新单元165还可将可见性缓冲器395划分为与屏幕空间的各个第一层次Hl和第二层次H2的区(例如,第一层次Hl的区Rl或第二层次H2的区R21)相对应的多个区,并且将与第二图元P有关的信息存储在可见性缓冲器395的区中。这里,‘m’和‘η’各自表示等于或大于‘I’的整数,并且m>n。在一些实施例中,可将屏幕空间划分为多于两个层次,并且示例实施例的区的数量‘m’和‘η’不限于此。
[0171]更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395的第二图元P所在的屏幕空间的第一层次Hl的m个区所对应的区中,或者存储在可见性缓冲器395的第二图元P所在的屏幕空间的第二层次H2的η个区所对应的区中。
[0172]例如,如果第二图元P位于如图9所示的屏幕空间中,则更新单元165可将与第二图元P有关的信息存储在可见性缓冲器395的与屏幕空间的第一层次Hl的四个区R1、R2、R5和R6相对应的区中,或者可将与第二图元P有关的信息仅存储在可见性缓冲器395的与屏幕空间的第二层次H2的区R21相对应的区中。
[0173]因此,由于更新单元165根据第二图元P在屏幕空间上的尺寸和位置将与第二图元P有关的信息存储在可见性缓冲器395的按照层次布置的区中,因此可提高在可见性测试机161中使用的遮挡物的搜索速度以及可见性缓冲器395关于其容量的效率。
[0174]与图4的图元剔除单元160-1不同,图5的图元剔除单元160_2还可包括初始三角形设置单元163。
[0175]初始三角形设置单元163可从通过更新确定单元162确定为将被用作遮挡物的第二图元P的位置信息中产生第二图元P的三角形关联信息。可通过更新单元165将通过初始三角形设置单元163产生的第二图元P的三角形关联信息存储在可见性缓冲器395的对应的区中。当将第二图元P的三角形关联信息发送至三角形设置单元175或存储在可见性缓冲器395中时,三角形设置单元175可跳过对已被确定为将用作遮挡物的第二图元P的三角形关联信息执行操作。
[0176]因此,在确定图元的位置之后,根据本发明构思的示例实施例的GPU能够基于预先存储的遮挡物的三角形关联信息来选择性地去除图元。因此,可减少不期望的工作负担和/或不期望的数据。因此,GPU 100的整体性能可提高,并且GPU 100的功耗可减小。
[0177]图10是根据本发明构思的示例实施例的操作GPU的方法的流程图。图11是根据本发明构思的示例实施例的操作GPU的方法的流程图。图12是根据本发明构思的示例实施例的操作GPU的方法的流程图。图13是执行可见性测试的操作(例如,图10和图11的操作SllO以及图12的操作S210)的详细流程图。图14是确定是否将第二图元的位置信息存储在可见性缓冲器中的操作(例如,图11的操作S130以及图12的操作S230)的详细流程图。
[0178]参照图1至图14,图3的三角形设置单元175可从作为遮挡物的第一图元O的位置信息产生第一图元O的三角形关联信息,并且将三角形关联信息存储在可见性缓冲器395中(操作S100)。可替换地,图5的初始三角形设置单元163可从作为遮挡物的第一图元O的位置信息产生第一图元O的三角形关联信息(操作S100)。
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1