多个阴影化引擎上3D计算机图形数据的处理制造技术

技术编号:8082182 阅读:163 留言:0更新日期:2012-12-14 15:38
提供了一种用于在多个阴影化引擎上纹理化和阴影化3D计算机图形图像的方法。首先,图像被细分成多个图块且每个图块被细分成多个微图块。对象列表被分配至每个图块,对象列表包含定义图块中可见的对象的数据。对于一个微图块,确定微图块中的哪些像素被对象列表中的对象A贯穿以及确定微图块中哪些像素被对象列表中的至少一个其他对象贯穿。在与确定步骤并行的步骤中,用于对象B的像素贯穿数据被输出,对于该对象B已经执行了对于选择的图块中的每个微图块的所有贯穿确定。像素贯穿数据被输出至多个阴影化引擎中的至少一个阴影化引擎。然后,针对所选择的存在可见对象的图块中的每个微图块重复这些步骤。与用于对象B的像素贯穿数据相对应的像素使用多个阴影化引擎中的至少一个阴影化引擎进行纹理化和阴影化。最后,存储通过纹理化和阴影化得到的数据。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及多个阴影化引擎上3D图形数据的处理。
技术介绍
在3D图形系统中,像素通常被细分成多个矩形区域或图块(tile),在这些像素上3D图像即将被渲染。例如,在申请人的英国专利No. 2298111中,图像被分成多个图块且图块被轮流被处理。为了简便起见,这些图块常常被分组为众所周知的宏图块(macrotiles)。通常,几何结构处理单元使用已知的方法从应用中接收图像数据并将其传送至屏幕空间中。然后数据被供应给图块化单元(tiling unit),该图块化単元将屏幕空间几何结构插入到对象列表中以用于每个定义的矩形区域或图块的集合。这些列表中的每个列表将包含整体地或部分地存在于屏幕的子区域中的图元(通常定义为三角形的表面),即图块。因此,将存在用于屏幕上每个图块的对象列表。然后使用任何已知的方法图块可以轮流被 渲染直到每个图块中的所有对象都被处理。用于确定图块中的特定像素的图元深度的各种方法是已知的。这些使隐藏面能够被移除(remove)并在随后不被用于像素处理,除非距观察点最近的表面是半透明的。通常,图元将具有与其相关联的标签,指示其是半透明的还是不透明的。图I显示了这类已知的渲染系统的示例,图I是已知的渲染系统的原理方框图。渲染系统包括几何结构处理单元2,该几何结构处理单元2接收定义对象的图元数据。其处理对象以导出诸如三角形的图元,该图元被传递至图块化単元4,该图块化単元4把将被纹理化并阴影化的图像细分成多个矩形区域。然后在图块化的屏幕空间几何结构列表単元6中产生图块几何结构列表。这些列表包括图元的列表,这些图元可能在每个图块中是可见的。然后在将数据传递至纹理化和阴影化単元10之前,隐藏面消除単元8确定由图元定义的哪个表面或哪些表面在图块中的各像素处图块是可见的,纹理化和阴影化単元10根据与确定在各像素处为可见的对象相关联的图像属性可以将纹理化和阴影化应用于像素。用于确定相对深度并还用于确定是否适合于渲染用于特定像素或图块的数据的各种方法是已知的。ー个这类系统在申请人的国际专利申请号PCT/GB2004/002717 (公开号TO2005/015503)的专利申请中示出。其中,对于图块中的每个像素,使用与半透明有关的数据,对象在深度分类单元中被轮流考虑到。当在某个像素处半透明的对象覆盖了不透明的对象时,用于整个图块的数据被输入到阴影化和纹理化単元。在以前的实施方式中,每个三角形在查找表(LUT)中被分配了唯一的条目(entry),而不是共享LUT条目以用于具有类似状态的三角形。区间(span)的处理顺序也是基于线性,而不是确定方向的微图块(micix) tile)。这意味着将三角形与左边区域和右边区域相关联是不可能的,因为图块的整个宽度被看做是单循环的。因为每个三角形具有单个LUT条目,这意味着LUT必须是大型而昂贵的。当更多的三角形需要被存储在LUT中吋,随着图块变得更大,成本也变得更高。然而,这使用于每个三角形的边界框(在这种情况中由于图块的整个宽度立即考虑到了 Y的最小值和最大值)能够存储在LUT中。这意味着输出处理变得很简单。在传递过程之后,最初TAG ID缓冲器被扫描以确定哪个LUT ID仍然是可见的(之前显示的对象可能被其它对象遮盖)。然后,用于可见的三角形(I三角形=ILUTID)的可见区间被输出,以最小的LUT ID开始。每个LUT条目包含用于三角形的原始范围(Y最小值至Y最大值),并且针对该范围TAG ID缓冲器被扫描以用于输出三角形。在延迟Z缓冲器系统中栅格化(rasterisation)管线接收ー串图元,该图元与当前正在被处理的图块贯穿(intersect)。通过深度分类器(depth sorter)接收信息,该深度分类器计算深度并栅格化接收到的三角形,以确定样本是否是可见的。也就是说,其确定了图元是否在之前用于Z缓冲器中的该像素位置的对象的前面,以及是否是半透明的。如果适当的话,存储用于特定像素的深度可以被更新并且指示哪些样本应该被纹理化和阴影化以用于每个像素的掩码(mask)被传递至标签分类器(tag sorter),其在纹理化和阴影化中使用每个像素的对象数据和关联的标签
技术实现思路
本专利技术的优选实施方式提供了改进的方法和系统以用于标签分类器,该标签分类器提高了处理的效率,诸如在基于图块的图形系统中用于像素的纹理化和阴影化的效率。具体来说,本专利技术的实施方式カ求改进多个通用阴影化引擎(USSE)或其他类的阴影化単元可以操作的效率,以阴影化被分别分配给它们作为图元从栅格化和深度分类单元传递的图块或部分图块中的像素。更具体地,根据本专利技术,提供了一种用于在多个阴影化引擎上纹理化和阴影化3D计算机图形图像的方法,该方法包括以下步骤将所述图像细分成多个矩形区域;将每个矩形区域细分成多个更小的矩形区域;将对象列表分配给每个矩形区域,所述对象列表包含定义在所述矩形区域中对象为可见的数据;针对每个更小的矩形区域轮流执行以下操作确定在所述更小的矩形区域中哪些像素被来自所述对象列表的下ー个对象贯穿,以及确定在所述更小的矩形区域中哪些像素被来自所述对象列表的各自的下ー个对象贯穿,该各自的下一个对象在之前的每个各自的其他的更小矩形区域的像素贯穿确定上被使用;输出用于对象的像素贯穿数据到分配给每个各自的更小的矩形区域的阴影化引擎,对于该对象的用于每个更小的矩形区域的所有的贯穿确定已经被执行;用所述阴影化引擎纹理化和阴影化与用于所述对象的像素贯穿数据相对应的像素;以及存储通过针对与所述像素贯穿数据对应的像素的纹理化和阴影化步骤得到的数据。根据本专利技术,还提供了一种用于在多个阴影化引擎上纹理化和阴影化3D计算机图形图像的方法,该方法包括以下步骤a)将所述图像细分成多个矩形区域;b)将每个矩形区域细分成多个更小的矩形区域;c)将对象列表分配给每个矩形区域,所述对象列表包含定义在所述矩形区域中对象为可见的数据;d)针对ー个更小的矩形区域,通确定在所述更小的矩形区域中哪些像素被所述对象列表中的对象A贯穿,以及确定在所述更小的矩形区域中哪些像素被所述对象列表中的至少ー个其他对象贯穿;e)与步骤d)并行,输出用于对象B的像素贯穿数据到多个阴影化引擎中的至少ー个阴影化引擎,对于该对象B用于所选择的矩形区域中的每个更小的矩形区域的所有贯穿的确定已经被执行ば)针对其中具有可见的对象的所选择的矩形区域中的每个更小的矩形区域,重复进行步骤d)和e);g)利用多个阴影化引擎中的至少ー个阴影化引擎纹理化和阴影化与用于对象B的像素贯穿数据对应的所述像素;以及h)存储从纹理化和阴影化步骤g)得到的数据。本专利技术的方法允许最大化多个即将实现的阴影化引擎之间的负载平衡。这在系统中是可能的,其中每个LUT条目具有多于ー个的三角形,所以在图像中的三角形的范围不能根据LUT确定,而必须以像素乘像素为基础来确定。在图像的每个矩形区域中,可能具有任意合适数量的更小的矩形区域。在ー个实施方式中,每个矩形区域具有四个更小的矩形区域。在另ー实施方式中,每个矩形区域具有八个更小的矩形区域。优选地,每个矩形区域中所述更小的矩形区域通过在X和y方向上划分所述矩形区域而建立。优选地,阴影化引擎的数量等于每个矩形区域中更小的矩形区域的数量。在这个方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:J·雷德肖
申请(专利权)人:想象技术有限公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1