渲染多层图像的制作方法

文档序号:6359568阅读:140来源:国知局
专利名称:渲染多层图像的制作方法
渲染多层图像
背景技术
图像常常被构造在各层中。在图像的各层当中,从前到后定义一定顺序,并且可以把每一层与特定不透明度数值相关联,该不透明度数值通常被表示在a通道中。因此,从各层建立的最终图像表示不同的各层到背景上的混合,其中给定层对其后方各层以及背景的遮挡数量由该层的不透明度决定。此外,可以定义全局a数值,该数值影响各层遮挡背景的累计数量。将各个图像层渲染到背景上的处理有时被称作光栅化。将各层光栅化到背景上的一种方式是将各层从后到前渲染到中间目标上。随后可以用所述全局a数值对所述中间目标的不透明度进行缩放,即把所述中间目标中的各个像素数值乘以所述全局a数值。随后可以把所述中间目标光栅化到背景图案或图像上。但是这种技术的效率可能较低
发明内容
在一个例子中,可以按照下面的方式将各个图像层光栅化到背景上。各层要被光栅化到其上的背景缓冲区具有a通道。该a通道虽然通常被用来表示背景缓冲区的不透明度,但是也可以被用于存储对于其他数值的计算。将a通道清空。随后按照从最前到最后的顺序考虑各个图像层的a数值。首先检查最前层的a数值。随后把剩余待分配给各层的不透明度的数量乘以最前层的a数值,并且把乘积加到背景缓冲区的a通道上。随后从前到后对于每一层重复该处理。也就是说,对于每一层把剩余待分配的不透明度的数量乘以该层的a数值,并且把乘积加到a通道上。这样,所述a通道就充当用于由到目前为止所考虑的所有各层所消耗的不透明度数量的累加器。等到考虑过所有各层时,所述a通道存储由各层消耗的不透明度的总数量(将通过全局a数值对其进行缩放)。随后将所消耗的不透明度的该总数量乘以所述全局a数值,并且乘积就是由各层消耗的不透明度的最终数量。随后把各层所消耗的不透明度的最终数量的补数分配给背景。因此,背景被预先暗化的数量等于各层所消耗的不透明度数量的补数。随后将各层本身光栅化到经过预先暗化的背景上。为了施行该光栅化,再一次清空背景缓冲区的a通道,从而其可以充当用于由各层所消耗的不透明度数量的累加器。随后按照从最前到最后的顺序考虑各层。对于每一层,把剩余待分配的不透明度数量(即a通道的当前数值的补数)乘以当前层的a数值。随后对于每一个像素将该乘积乘以所述像素的颜色,并且将结果加到背景中的相应像素上。随后把a通道的当前数值的补数与当前层的a数值的乘积加到a通道上。随后按照这种方式从前到后处理每一层,直到考虑过所有各层为止。在考虑过所有各层之后,就已经按照考虑到各层的单独a数值和全局不透明度的方式将各层光栅化到背景上了。随后可以显示所得到的图像。提供本概要是为了以简化形式介绍将在后面的详细描述部分中进一步描述的概念的选集。本概要不意图标识出所要求保护的主题内容的关键特征或本质特征,也不意图被用来限制所要求保护的主题内容的范围。


图I是其中可以将多层图像光栅化到背景上的示例性情形的方框图。图2是其中可以将图像的一层或更多层光栅化到背景上的示例性处理的流程图。图3是用以计算由各个图像层使用的不透明度数量的示例性处理的流程图。图4是用以将各层光栅化到背景上的一种示例性方式的流程图。
的实现 的示例性组件的方框图。
具体实施例方式将要渲染的图像常常被构造在各层中。定义一个背景,随后把各个图像层叠加在彼此之上,从而将最后层直接光栅化到背景上;将前面的下一层光栅化在最后层之上;依此类推,直到将最前层光栅化在所有先前各层之上为止。可以在任意层集合之间定义一定顺序,从而有可能知道哪一层是最后层,哪一层是下一层,依此类推直到最前层。在现今的渲染系统中,有可能对于每一层定义不透明度数值,其通常被表示在a通道中。所述a数值规定给定层的不透明程度。0.0的a数值表示0%不透明度(完全透明)。1.0的a数值表示100%不透明度。各层常常具有处于这两个极端数值之间的a数值。此外还可以定义全局a数值,其对所有各层的不透明度进行缩放。背景以及每一层对最终光栅化图像的贡献数量由单独各层的a数值和全局a数值决定。但是将各个a数值纳入考虑会产生一些复杂情况。举例来说,假设全局a数值为0.5,并且存在其范围从0.0到1.0的各个a数值的十层。将会出现的情况是可以把全局a数值应用于总体图像,这是通过把0.5的全局a数值乘以单独每一层的a数值而实现的。但是全局a数值不是分布在各个单独的a数值上。相反,在确定了单独各层的相对透明度之后应用全局a数值。在考虑到各个a数值的同时渲染各层的一种方式是从后到前将单独各层渲染到一个中间目标上,对所述中间目标应用全局透明度,并且随后将所述中间目标渲染到背景上。但是这种技术可能效率较低,这是因为其对于中间目标使用了额外的存储。这里所描述的主题内容提供了将各个图像层渲染到背景上的一种高效方式。在一个实例中存在背景缓冲区,其保存将各个图像层光栅化到其上的背景。所述背景缓冲区具有a通道,其可以按照下面的方式被用作各个a数值的累加器。从前到后对各层进行初始遍历,以便确定每一层对最终图像的贡献将有多少。在该初始遍历期间,背景的a通道代表由到目前为止所考虑的所有各层所消耗的不透明度数量。在其中不透明度从0.0到1.0取值的实例中,可用于分配给各层的不透明度的总数量是1.0。因此,在开始所述初始遍历时清空a通道(即设定到0.0);此时还没有考虑任何层,因此还没有可用透明度被分配给任一层。随后从前到后遍历各层。对于第一层,将可用不透明度的数量(即1.0减去a通道的数值)乘以该层的不透明度。该结果是将被该层消耗的不透明度的数量,因此结果被加到a通道上。随后从前到后对于后面的每一层重复所述处理。举例来说,假设前两层分别具有0. 3和0. 5的a数值。当考虑第一层时,a通道具有0. 0的数值,从而剩余待分配的不透明度数量是I. O。因此,将1.0的剩余不透明度乘以第一层的a数值0.3,从而等于
0.3。因此,将0.3加到a通道上。当考虑第二层时,剩余待分配的a不透明度是0.7(即I.O减去0.3)。因此,将0. 7乘以第二层的a数值0. 5,从而等于0. 35。第二层将消耗0.5的剩余不透明度,从而是0. 35的不透明度总数量(这是因为第一层已经消耗了 0.3)。因此,在考虑了前两层之后,所消耗的不透明度的总数量是0.65,其在此时是a通道的数值。重复该处理,直到考虑了从前到后的所有各层为止。在考虑了所有各层之后,所消耗的不透明度的总数量可以是I. 0,或者可以小于I. O。在考虑了所有各层之后,应用全局a数值。假设在考虑了所有各层之后,背景缓冲区的a通道的数值为0.8,从而表明0.8的a通道已被单独各层消耗。进一步假设全局a数值为0. 7。在该例中,将0. 7的全局a数值乘以0. 8的a通道数值,从而得到0. 56。随后使用该数值的补数来预先暗化背景。补数的构成取决于被用来表示不透明度的计数系统。如果a数值的范围是从0. 0到I. 0,则某一数值X的补数则是从I. 0减去X。在另一个例子中,如果a数值的范围是从0%到100%,则某一数值Y的补数则是100减去Y。因此,如果在应用了全局a数值之后的a通道的数值为0. 56,则补数为0. 44,从而利用0. 44的不透明度水平预先暗化背景。为了施行该预先暗化,对于背景中的每一个像素,将该像素的颜色乘以0.44,并且把结果写入到背景缓冲区上。随后清空背景缓冲区的a通道,从而使其可以被再次使用来对于各层的第二趟遍历累加各个a数值。 随后可以从前到后对各层进行另一趟遍历。对于最前层中的每一个像素,将a通道的补数乘以该层的a数值和该像素的颜色。随后把该乘法的结果加到该像素处的背景缓冲区的颜色上。可以回想到利用背景图像对背景缓冲区进行了预先暗化,因此所述操作的结果是将背景与最前层混合。随后将背景缓冲区的a通道的补数乘以最前层的a数值,并且将结果加到背景缓冲区的a通道上。(与第一趟遍历一样,背景缓冲区的a通道充当由各层消耗的不透明度的累计数量的累加器。)随后对于向前的下一层重复所述处理,依此类推,直到从前到后考虑了所有各层为止。也就是说,对于第二层,将a通道的当前数值的补数乘以第二层的a和每一个像素的颜色;随后对于每一个像素将所述结果加到背景缓冲区中的相应像素的当前数值上。随后将a通道的数值的补数乘以第二层的a数值,并且将结果加到a通道上。依此类推遍历所有各层,直到所有各层都被光栅化到背景上为止。在一个例子中,背景缓冲区可以是内建到图形卡中的存储器的一部分,但是这里的主题内容不限于使用任何特定种类的硬件。此外在一个例子中,这里所描述的技术可以避免使用将把各层渲染到其上的中间目标;但是这里的主题内容可以按照任何适当方式来实施,不管是否使用中间目标。现在参照附图,图I示出了其中可以将多层图像光栅化到背景上的一种示例性情形。层102、104、106和108是将被光栅化的图像的单独各层。在图I所示的实例中,这些层当中的每一层中的图像分别是字母A、B、C和D,但是每一层也可以包含任何类型的图像。每一层与一个不透明度(a)数值相关联。具体来说,在所示实例中,层102具有a数值
0.10 ;层104具有a数值0. 25 ;层106具有a数值0. 20 ;层108具有a数值0. 30。此外,在各层102 — 108当中定义一定顺序。也就是说,层108处于层106 “前方”(或“上方”),层106处于层104上方,层104处于层102上方。因此,当将层102 — 108光栅化时,最终图像将是字母A、B、C和D的某种组合。各个字母将部分地彼此遮挡,遮挡方式取决于其对应各层的顺序以及这些层的相对不透明度。一般来说,更靠近“前方”(或“上方”)的层往往会遮挡更靠近后方的层。此外,对于图像的给定顺序位置(即、最前、次最前等等),该层趋向于遮挡后方各层的数量是基于为该层指派的不透明度的大小。因此,具有a数值0.30的层108将会在某种程度上遮挡层102 - 106。但是如果层108例如具有a数值0. 8,则层108随所述其他各层的遮挡数量将更大。相反,如果层108具有a数值0. 1,则层108对其他各层的遮挡数量将更小。背景110是对应于层102 - 108的光栅化目标。因此,背景110保持某种类型的图像(例如纯色、图案、光栅化照片等等),并且层102 - 108被光栅化到该背景上。可以对于整个多层图像定义一个全局a数值112。如前所述,各层本身消耗可用总数量的一部分,并且全局a数值112是对各层所消耗的不透明度的总数量进行缩放的一个因数。因此,如果由层102 — 108消耗的不透明度的总数量是0.4并且全局a数值112是0. 6,则将0. 6乘以0. 4,从而得到0. 24。换句话说,如果各层消耗了 0. 4的可用不透明度并且全局a数值是0.6,则由各层消耗的不透明度的总数量是0.24,从而留下0.76的总的可用不透明度待分配给背景。
应当提到的是,图I中所示的情形可以按照任何适当方式来实施。但是实施该情形的一种方式是在图形卡114上。具体来说,图形卡114可以具有存储器116和处理器118。处理器118可以被用来施行与视觉图像有关的各种类型的计算。存储器116的一部分可以被用作背景缓冲区120。背景缓冲区120具有用来存储像素数值的空间。图像的光栅化涉及将正确的数值写入到背景缓冲区120的各个像素中。因此,背景缓冲区120中的每一个像素可以包括用以存储各个颜色分量(例如RGB系统中的红色、绿色和蓝色分量,HSL系统中的色调、饱和度和亮度等等)的空间,并且还可以包含用以存储不透明度数值的空间。用以存储不透明度数值的所述空间就是前面所提到的a通道,其可以是背景缓冲区120的一部分。图2示出了其中可以将图像的一个或更多层光栅化到背景上的示例性处理。在描述图2之前,应当提到的是包含在这里的流程图(图2以及图3 — 4中)是参照图I中所示的组件以举例的方式来描述的,但是这些处理也可以被实施在任何系统中并且不限于图I中所示的情形。此外,图2 - 4中的每一幅流程图示出了其中按照特定顺序(如连接各个方框的连线所示)实施处理的各个阶段的一个例子,但是在这些图中所示出的各个阶段也可以按照任何顺序来施行,或者以任意组合或子组合来施行。在202中,通过从前到后应用单独各层的a数值预先计算由各个图像层消耗的不透明度的累计数量。可以按照任意方式计算所消耗的不透明度的该累计数量。在图3中示出了计算所消耗的不透明度数量的一种方式。现在参照图3,为了计算由图像的各层所消耗的不透明度的数量,首先在302中清空背景缓冲区(或者可以被用作所消耗的不透明度的累加器的某一其他存储器位置)上的a通道。在其中以0.0 (完全透明)到1.0 (完全不透明)的尺度表示a数值的例子中,清空a通道是通过将a通道设定到0.0而实现的。所述处理随后按照从最前到最后的顺序检查各个图像层中的a数值。因此,对低于不同各层的考虑在304中开始于最前层,其现在是图3的处理中的“当前层”。在306中,将剩余的不透明度数量(如背景缓冲区的a通道所示)乘以当前层的a数值,以便产生一个所得到的数值。为了描述图3,所得到的该数值被记作V。计算剩余a数量的一种方式是找到a通道的当前数值的补数。该补数可以被计算为最大可能《数值与a通道的当前数值之间的差。因此,在其中正考虑第一层的情况下,a通道的数值为0. O ;1. O减去0. O是I. 0,因此I. 0就是剩余待分配的不透明度的数量。将该剩余不透明度数量乘以当前层的a数值,以便产生数值V。V表示将由当前层消耗的不透明度的数量。在308中,将数值V加到背景缓冲区的a通道上。换句话说,a通道充当由已经被考虑过的所有各层消耗的不透明度的总数量的累加器。一般来说,每一层消耗其a数值乘以在考虑该层时剩余待分配的不透明度的总数量。在310中,确定是否要考虑另一层。如果是的话,则将当前层设定到后面的下一层(在312中),并且所述处理返回306以便考虑下一层。另一方面,如果不再有更多层需要考虑(即如果当前层是最后层),则背景缓冲区现在包含被所有图像层使用的不透明度的累计数量(在314中)。现在回到图2,一旦(通过图3的处理或者通过某一其他处理)计算出不透明度的累计数量之后,就对a的累计数量应用全局a数值(在204中),从而产生经过调节的累计a数量。例如假设在考虑过所有图像层之后,被分配给这些层的不透明度的总数量是0.55。进一步假设全局a数值是0.75。在这种情况下,将全局a数值(0.75)乘以被分配给各层的不透明度的总数量(0.55),从而得到0.4125。换句话说,发现将由各层自然消耗的不透明度的总数量是0.55 (初始累计a数量),但是该数量被降低到其自然数值的75%,这是因为存在0.75的全局a数值。因此,由于应用了全局a数值,所以将被分配给各层的不透明度的总数量是0.4125 (从初始累计a数量导出的经过调节的累计a数量)。由于0. 4125的总的可用不透明度被分配给各层,因此剩余的数量就是0. 4125的补数(即0.5875)。由于0.5875的不透明度尚未被分配给各层,因此其被分配给背景。因此,在206中,通过由已被分配给各层的累计不透明度的补数所指定的数量对背景进行预先暗化。因此,在其中为背景分配0.5875的不透明度的例子中,将把背景图案或图像的颜色乘以0. 5875,并且这些数值将被写到背景缓冲区中的适当像素。在208中,从前到后把图像的各层光栅化到背景上。可以按照任何适当方式将各层光栅化到背景上。但是在图4中示出了将各层光栅化到背景上的一种示例性方式。现在参照图4,在402中,清空对应于背景缓冲区的a通道。所述a通道将再一次充当用于到目前为止被各层消耗的a数量的累加器。为了充当这样的累加器,首先在402中清空a通道。在404中,将最前层设定为当前层。图4中的处理的一些部分操作在图中被称作“当前”层的一层上。当图4的处理首先开始考虑各层时,最前层是“当前”层。在406中,计算剩余可用的不透明度数量。在图4中,为该剩余不透明度数量给出标记R。在一个例子中,剩余的不透明度数量是a通道的数值的补数。因此,当考虑第一层时,a通道刚刚被清空,在这种情况下a通道的数值是0.0,因此剩余的不透明度数量(R)是a通道的补数,即1.0。在408中,对于当前层中的每一个像素,将该像素的颜色乘以当前层的a数值和R,以便产生一个数值(其在图中被标记为A)。对于每一个像素,数值A代表当前层对该像素贡献的颜色,其通过已被分配给当前层的不透明度数量进行了缩放。该数值A被加到背景层中的适当像素的颜色上(在410中)。因此,背景层现在表现出背景与当前层的混合。在图4的处理期间,保持由每一层消耗的a数量的累积总计,正如图3的处理中那样。因此,在412中,将数值R (如前所述)乘以当前层的a数值,并且将乘积加到背景缓冲区的a通道上。因此,背景缓冲区的a通道代表已被到目前为止所考虑的各层消耗的不透明度的总数量。在414中,确定是否要考虑另一层。如果是的话,则把当前层设定为后面的下一层(在416中),并且所述处理返回406以便考虑另一层。另一方面,如果没有更多层要考虑,也就是说如果当前层是最后层,则图4的处理结束。现在回到图2,在将各个图像层光栅化之后,可以在210中按照有形形式显示光栅化的图像。举例来说,可以按照适当方式设定或调节各个物理元件(例如显示器上的像素),以便向用户显示视觉图像。图5示出了其中可以布置这里所描述的主题内容的各个方面的示例性环境。计算机500包括一个或更多处理器502以及一个或更多数据记忆组件504。(多 个)处理器502通常是微处理器,比如可以在个人台式或膝上型计算机、服务器、手持式计算机或者其他类型的计算器件中找到的微处理器。(多个)数据记忆组件504是能够短期或长期存储数据的组件。(多个)数据记忆组件504的例子包括硬盘、可移除盘(包括光盘和磁盘)、易失性和非易失性随机存取存储器(RAM)、只读存储器(ROM)、闪存、磁带等等。(多个)数据记忆组件是计算机可读存储介质的例子。计算机500可以包括显示器512或者与之相关联,所述显示器512可以是阴极射线管(CRT)监视器、液晶显示器(IXD)监视器或者任何其他类型的监视器。软件可以被存储在(多个)数据记忆组件504中,并且可以在一个或更多处理器502上执行。这样的软件的一个例子是图像光栅化软件506,其可以实施前面关于图I 一 4描述的一些或全部功能,但是也可以使用任何类型的软件。可以例如通过一个或更多组件来实施软件506,所述组件可以是分布式系统中的组件、单独的文件、单独的函数、单独的对象、单独的代码行等等。其中程序被存储在硬盘上、加载到RAM中并且在计算机的(多个)处理器上执行的计算机(例如个人计算机、服务器计算机、手持式计算机等等)是图5中所描绘的情形的典型,但是这里所描述的主题内容并不限于该实例。这里所描述的主题内容可以被实施为软件,其被存储在一个或更多数据记忆组件504中并且在一个或更多处理器502上执行。作为另一个例子,所述主题内容可以被实施为存储在一个或更多计算机可读存储介质上的指令。诸如光盘或磁盘之类的有形介质是存储介质的例子。所述指令可以存在于非瞬时性介质上。在由计算机或其他机器执行时,这样的指令可以使得所述计算机或其他机器施行方法的一个或更多步骤。用以施行所述步骤的指令可以被存储在一个介质上,或者可以分散在多个介质上,从而所述指令可能总体上出现在一个或更多计算机可读介质上,而不管是否所有指令都恰好处于相同的介质上。此外,这里所描述的任何步骤(不管是否在图中示出)都可以作为方法的一部分由处理器(例如一个或更多处理器502)施行。因此,如果在这里描述了步骤A、B和C,则可以施行包括步骤A、B和C的方法。此外,如果在这里描述了步骤A、B和C,则可以施行包括利用处理器施行步骤A、B和C的方法。在一种示例性环境中,计算机500可以通过网络508可通信地连接到一个或更多其他设备。计算机510的结构可以类似于计算机500,其是可以连接到计算机500的设备的一个例子,但是也可以如此连接其他类型的设备。
虽然已经在特定于结构特征和/或方法步骤的语言中描述了主题内容,但是应当理解的是,在所附权利要求书中限定的主题内容不一定限于前面所描述的具体特征或步骤。相反,前面描述的具体特征和步骤是作为实施权利要求书的 示例性形式而公开的。
权利要求
1.一种显示多层图像的方法,所述方法包括 计算由所述图像的各层消耗的不透明度的累计数量,其中所述图像的每一层与表明该层的不透明度的a数值相关联; 对所述不透明度的累计数量应用全局a数值,以便产生经过调节的累计不透明度数量; 将背景预先暗化由所述经过调节的累计不透明度数量的第一补数所指定的数量;将所述图像的每一层光栅化到所述背景上以便产生光栅化图像,其中按照从最前层到最后层进行的顺序将所述图像的各层光栅化;以及显示所述光栅化图像。
2.权利要求I的方法,其中,所述方法由包括背景缓冲区的图形卡施行,其中对于所述背景的所述预先暗化是通过将所述背景缓冲区中的数值设定到乘以所述经过调节的累计不透明度数量的所述第一补数的背景图像的数值而施行的,并且其中对于每一层的所述光栅化是通过使用每一层来设定所述背景缓冲区中的数值而施行的。
3.权利要求I的方法,其中,对于所述图像的各层所消耗的不透明度的所述累计数量的所述计算包括 将存储器位置设定到零;以及 对于每一层L,从最前层开始向最后层施行以下步骤 计算所述存储器位置的数值的第二补数; 将与层L相关联的a数值乘以所述第二补数以便产生乘积;以及 将所述乘积加到所述存储器位置上。
4.权利要求I的方法,其中,对于所述全局a数值的所述应用包括 将所述全局a数值乘以由所述图像的各层消耗的不透明度的所述累计数量。
5.权利要求I的方法,其中,所述经过调节的累计不透明度数量是处于零到I之间的数值,其中零表明完全透明并且I表明完全不透明,并且其中所述第一补数是从I减去所述经过调节的累计不透明度数量。
6.权利要求I的方法,其中,所述光栅化包括 将存储器位置设定到零;以及 对于每一层L施行以下步骤 计算所述存储器位置的数值的第二补数; 将所述第二补数乘以与层L相关联的a数值并且乘以作为层L的一部分的颜色,从而产生第一乘积;以及 将所述第一乘积应用于所述背景。
7.权利要求6的方法,其中,所述步骤还包括 将所述第二补数乘以与层L相关联的所述a数值以便产生第二乘积;以及 将所述第二乘积加到所述存储器位置上。
8.一种计算机可读介质,其具有用以施行权利要求I 一 7当中的任一条的方法的计算机可执行指令。
9.一种用于显示图像的系统,所述系统包括 处理器;数据记忆组件; 显不器;以及 存储在所述数据记忆组件中并且在所述处理器上执行的图像光栅化组件,其中所述图像光栅化组件执行以下步骤计算由所述图像的多层消耗的不透明度的第一累计数量;将背景预先暗化由从所述不透明度的第一累计数量导出的不透明度的第二累计数量的第一补数所指定的数量;将所述图像的每一层按照从最前层到最后层进行的顺序光栅化到所述背景上以便产生光栅化图像;以及在所述显示器上显示所述光栅化图像。
10.权利要求9的系统,其中,所述不透明度的第二累计数量就是所述不透明度的第一累计数量。
11.权利要求9的系统,其中,所述图像光栅化组件通过把所述不透明度的第一累计数量乘以全局a数值而导出所述不透明度的第二累计数量。
12.权利要求9的系统,其还包括存储器位置,其中所述系统通过以下方式计算所述不透明度的第一累计数量将所述存储器位置设定到零;以及对于每一层L,从最前层开始向最后层计算所述存储器位置的数值的第二补数、将与层L相关联的a数值乘以所述第二补数以便产生乘积并且将所述乘积加到所述存储器位置上。
13.权利要求12的系统,其还包括 包括背景缓冲区的图形卡,其中,所述存储器位置包括所述背景缓冲区的a通道。
14.权利要求9的系统,其中,所述图像光栅化组件通过以下方式对所述图像的所述各层进行光栅化将存储器位置设定到零;以及对于每一层L计算所述存储器位置的数值的第二补数、将所述第二补数乘以与层L相关联的a数值并且乘以作为层L的一部分的颜色从而产生第一乘积并且将所述第一乘积应用于所述背景。
15.权利要求14的系统,其中,所述图像光栅化组件对于每一层L将所述第二补数乘以与层L相关联的所述a数值以便产生第二乘积,并且将所述第二乘积加到所述存储器位置上。
全文摘要
本发明可以通过从前到后考虑多层图像中的每一层而把所述多层图像光栅化到背景上。清空背景缓冲区的α通道,从而使其充当所消耗的总不透明度的累加器。随后从前到后考虑每一个图像层。对于每一层,将该层的α数值乘以α通道的当前数值的补数,并且把乘积加到背景α通道上。随后将背景α乘以全局α数值。随后把背景颜色数值预先暗化所得到的背景α通道数值的补数。随后再次清空背景α通道,并且从前到后对各层进行光栅化并且加到预先暗化的背景上,此时已经将每层的颜色数值纳入考虑之中。
文档编号G06T11/60GK102741886SQ201180008566
公开日2012年10月17日 申请日期2011年1月16日 优先权日2010年2月7日
发明者S.E.邓 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1