图形应用的有效剪切制造技术

技术编号:5479655 阅读:212 留言:0更新日期:2012-04-11 18:40
通过一次将一个剪切区域绘制于图表面上且更新每一剪切区域内的像素的剪切值而以循序执行任何数目的剪切区域的剪切。像素的剪切值可指示覆盖所述像素的剪切区域的数目且可针对覆盖所述像素的每一剪切区域而递增。像素的剪切值也可为位图,且如果所述像素在剪切区域内,那么可将所述剪切区域的位设定为一。使所关注的区域内的像素通过且渲染所述像素,且废弃在所述区域外部的像素。可通过参考值来界定此区域,可将所述参考值设定为:(a)针于剪切UNION运算,对于所有剪切区域的联合为一,或(b)针于剪切AND运算,对于多个(例如,所有)剪切区域的相交为大于一。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体来说涉及电子学,且更具体来说涉及用于对图形应用执行剪切的技术。
技术介绍
图形处理单元(GPU)是用于渲染用于例如视频游戏、图形、计算机辅助设计(CAD)、 模拟和视觉化工具、成像等各种应用的2维(2-D)和3维(3-D)图像的专用硬件单元。 GPU可执行各种图形操作(例如,着色、混合等)以渲染图或图像。这些图形操作可为 计算密集的。为了减少计算,可将图剪辑到图表面的边界。可进一步将图剪辑到一个或 一个以上剪切区域的内部。每一剪切区域可描述待保留的图表面的特定区。图的经剪辑 的部分可被废弃且因此不加以渲染。可通过省略图的被废弃的部分的计算而实现改进的 性能。剪切是指剪辑具有一个或一个以上剪切区域的图或图像的过程。GPU可执行剪切以 便节省图的不需要渲染的部分的计算。然而,消耗处理和存储器资源以便执行剪切。用 于剪切的资源的量可随剪切区域的数目而增加。因此,此项技术中需要用于有效地执行剪切的技术。
技术实现思路
本文中描述用于有效地执行剪切的技术。在一方面,可通过以下步骤以循序次序执 行任何数目的剪切区域的剪切(a) —次将一个剪切区域绘制到图表面或渲染区上;和 (b)对于每一剪切区域,更新剪切区域内的像素的剪切值。可以各种方式来更新剪切值。在一种设计中,像素的剪切值指示覆盖所述像素的剪 切区域的数目。如果新增剪切区域,那么可将每一剪切区域内的像素的剪切值递增一, 或如果移除剪切区域,那么可将每一剪切区域内的像素的剪切值递减一。在另一设计中, 像素的剪切值是不同剪切区域的位图,且每一剪切区域与所述位图中的相应位相关联。 对于每一剪切区域,可将剪切区域内的像素的剪切值中的对应位设定为预定值(例如,一)。在又一设计中,像素的剪切值指示所述像素是否在任何剪切区域内。在更新所有剪切区域的剪切值之后,使所关注的区域内的像素通过以用于渲染。这可通过将像素的剪切值与参考值进行比较并使具有等于或大于所述参考值的剪切值的 像素通过来实现。对于剪切UNION运算,可将参考值设定为一以使通过所有剪切区域 的联合而形成的区域内的像素通过。对于剪切AND运算,可将参考值设定为大于一以 使通过至少两个(例如,所有)剪切区域的相交而形成的区域内的像素通过。此处,UNION 和AND是指对剪切区域的逻辑运算。下文更详细地描述本专利技术的各种方面和特征。附图说明图1说明2-D图形中的剪切区域。 图2说明对于多个剪切区域的剪切。 图3展示用于执行剪切的过程。 图4展示2-D图形管线。 图5展示3-D图形管线。 图6展示执行剪切的GPU。 图7展示无线通信装置的框图。具体实施例方式支持2-D图形的图形处理单元(GPU)可支持对于多个剪切区域的剪切。举例来说, GPU可支持公开可用的且在下文中被称作OpenVG的"OpenVG规范,1.0版"(2005 年7月28日)。OpenVG是用于2-D向量图形的新标准且适用于手持式和移动装置(例 如,蜂窝式电话和游戏装置)。OpenVG需要2-DGPU来支持最少32个剪切区域。图1说明2-D图形中的剪切区域。图表面100可表示渲染区、显示屏幕或用于某一 其它输出装置。图表面100可具有任何宽度和高度(WxH)尺寸(例如,对于VGA, 为640x480像素)且因此可覆盖W'H个像素。在图1中所展示的实例中,界定八个剪 切区域且所述八个剪切区域被称作剪切区域1到8。每一剪切区域可为可由两个坐标(例 如,关于左下角的一个坐标和关于右上角的另一坐标)界定的矩形。 一般来说,剪切区 域可具有任何形状,例如,矩形、三角形、圆形、多边形、复杂或任意形状等。剪切区 域还可具有任何大小且可位于图表面上的任何地方。剪切(scissoring)区域也可被称作 剪切(scissor)区域、剪切窗、剪切矩形等。为了简单起见,以下描述大部分针对矩形 的剪切区域。如图1中所展示,每一剪切区域可与零个、 一个或多个其它剪切区域重叠。 举例来说,剪切区域8不与其它剪切区域重叠,剪切区域4与剪切区域3重叠,且剪切7区域3与剪切区域1、 2和4重叠。GPU可通过确定图表面100中的W,H个像素中的每一者是否在剪切区域中的任一 者内来执行剪切。每一像素可与可指示所述像素是否在任何剪切区域内的剪切值相关 联。剪切值也可被称作掩码值等。GPU可使用所述剪切值来确定是否渲染像素。作为一 实例,对于剪切UNION运算来说,GPU可渲染在通过所有剪切区域的联合而界定的区 域内的像素且可废弃/丢弃此区域外部的像素。如OpenVG所需的32个剪切区域的蛮力实施方案可利用32个寄存器来存储这些剪 切区域的坐标且利用128个比较器来执行逻辑/比较运算。四个比较器可用于每一剪切区 域以将像素与剪切区域的四个角进行比较以确定所述像素是否在所述剪切区域内。对于 无线通信装置、移动装置、游戏装置和其它消费型电子装置来说,许多剪切区域的蛮力 实施方案可为复杂且昂贵的。在一方面,可通过以下步骤而有效地执行任何数目的剪切区域的剪切(a) —次将 一个剪切区域绘制到图表面或渲染区上;和(b)更新每一剪切区域内的像素的剪切值。 可由支持2-D图形的GPU以及支持2-D与3-D图形两者的GPU来执行剪切。还可使用 经设计以用于其它图形函数的处理和/或存储器资源(例如,共同用于3-D图形的模版缓 冲器和模版测试单元)来执行剪切。图2说明对于多个剪切区域的剪切。使用剪切缓冲器来存储图表面上的像素的剪切 值。所述剪切缓冲器可为模版缓冲器或某一其它缓冲器。剪切缓冲器可具有与图表面的 尺寸相同的WxH尺寸且可存储图表面上的每一像素的剪切值。还可使用其它剪切缓冲 器大小。为了简单起见,图2展示具有12x9尺寸的图表面。可由N个位来表示剪切值,其中,N通常可为一或更大。举例来说,N可等于8, 且8位剪切值可在0到255的范围中。依据(例如)由GPU支持的剪切模式,还可将 更少或更多的位用于剪切值。最初(例如)通过将所有剪切值重设为零而清除剪切缓冲器。接着(例如)通过读 取剪切区域的坐标和将这些坐标应用于图表面而绘制第一剪切区域。如下文所描述,可 以各种方式更新第一剪切区域内的每一像素的剪切值。可通过扫描剪切区域内的像素位 置且对于每一经扫描的像素位置而更新剪切缓冲器中的对应剪切值来实现剪切。以此方 式,仅更新剪切区域内的像素的剪切值,且剪切区域外部的其它像素不受影响。接着(例如)以与第一剪切区域类似的方式绘制第二剪切区域。可如下文所描述而 更新第二剪切区域内的每一像素的剪切值。可以类似方式绘制每一额外剪切区域,且可 更新剪切区域内的像素的剪切值。在已绘制最后剪切区域且完成剪切值的更新之后,剪切缓冲器中的剪切值可适用于确定是否渲染像素。在第一设计中,像素的剪切值指示覆盖所述像素的剪切区域的数目。在此设计中, 当绘制每一剪切区域时,将由所述剪切区域覆盖的每一像素的剪切值递增一。在己绘制 所有剪切区域之后,如果每一像素被至少一个剪切区域覆盖,那么所述像素的剪切值将 大于零。给定像素的剪切值&指示所述像素被A个剪切区域覆盖,其中0^:《K,且K为 剪切区域的数目。如果N个位用于每一剪切值,那么支持高达2^1个剪切区域。举例 来说,8位剪切值支持高达255个剪切区域。在第二本文档来自技高网...

【技术保护点】
一种装置,其包含: 缓冲器,其用于存储像素的剪切值;以及 处理单元,其用于以循序次序以一次一个剪切区域的方式对多个剪切区域执行剪切,且对于每一剪切区域,更新所述剪切区域内的像素的剪切值。

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

【专利技术属性】
技术研发人员:焦国方安格斯M多比耶
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1