CN1609898A - 使用阴影空间来产生阴影效果的方法与装置 - Google Patents

使用阴影空间来产生阴影效果的方法与装置 Download PDF

Info

Publication number
CN1609898A
CN1609898A CN200410095296.6A CN200410095296A CN1609898A CN 1609898 A CN1609898 A CN 1609898A CN 200410095296 A CN200410095296 A CN 200410095296A CN 1609898 A CN1609898 A CN 1609898A
Authority
CN
China
Prior art keywords
data
shade
brick
look
depth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200410095296.6A
Other languages
English (en)
Other versions
CN100342403C (zh
Inventor
徐建明
陈文中
王渊峰
李亮
约翰布拉德氏
柏瑞斯·柏克潘克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1609898A publication Critical patent/CN1609898A/zh
Application granted granted Critical
Publication of CN100342403C publication Critical patent/CN100342403C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明所揭示的电脑绘图系统是被设置来以图案阴影空间方法产生阴影效果,其依据压缩与未压缩深度资料缓冲区来使用压缩与未压缩的图案缓冲区的组合。未压缩图案缓冲区能够储存相应于各像素的图案阴影空间资料,并且压缩图案缓冲区能储存相应于像素群组的阴影空间资料。

Description

使用阴影空间来产生阴影效果的方法与装置
技术领域
本发明是关于一种电脑绘图系统,特别是关于一种用阴影空间(shadowvolume)方法来产生阴影效果的方法与装置。
背景技术
就一般所知,三维电脑绘图与三维物件的二维影像的产生或彩现(rendering)有关,以显示或呈现在如阴极射线管或液晶显示的显示装置或监视器上。而物件可以是简单的几何造型(geometry primitive),例如点、线段、三角形或多边形。更复杂的物件可以用呈现一连串相连的共平面多边形(planar polygons)来彩现在一显示装置上,例如呈现一连串相连的共平面三角形。所有的几何单元最终都可以被描述为一个顶点或一组顶点的集合的形式,例如以座标(x,y,z)来定义一个点,如线段的端点或多边形的一个角落。
为了产生用来将三维造型的二维投射呈现显示在电脑萤幕或其他显示装置上的资料集合,这些造型的顶点被以一连串的操作或图形彩现管线(graphics-rendering pipeline)的处理阶段来处理。一般的管线为一序列串连的处理单元或阶段,在管线中前一个阶段的输出被做为下一个阶段的输入。在一个绘图处理器的处理内容中,这些阶段包含有每一顶点作业(per-vertex operations)、图元配置作业(primitive assemblyoperations)、材质配置运算(texture assembly operations)、图形描绘运算(rasterization operations)以及资料分段运算(fragmentoperations)。
在典型的图形显示系统中,一个影像资料库(如命令列)所储存的可以是画面中物件的描述,这些物件被以数个多边形来描述,就像以小磁砖来涵盖墙面一样,以这些多边形来涵盖物件的表面。每一个多边形被以一列的顶点座标(在模型座标中的X,Y,Z)与一些表面性质的底材(material)规格(如颜色、材质、亮度等等)来描述,也可包括在每一个顶点对表面的法线向量。对于有复杂曲线表面的三维物件,则多边形一般为三角形或四边形,其中后者能被再分解为两个三角形。
一个转换引擎(transformation engine)能够从使用者所输入的选择视角来转换物件座标。另外,使用者也可能指定视野范围、所要产生的影像大小与视野后端来随意包含或去除背景。
一旦视觉区(viewing area)被选择,割截逻辑(clipping logic)会消除在视觉区外的多边形(如三角形),并割截部份在视觉内及部份在视觉区外的多边形。这些被割截的多边形将相应于视觉区的边以新的边来对应多边形在视觉区内的部份,然后多边形的顶点会被以相应于视景窗(viewing screen)的座标(以X,Y座标)伴随着每个顶点的相关深度(Z座标)送到下个阶段。在一个典型的系统中,一光照模组(lighting model)在考量一光源下将被加以应用,然后具有颜色值的多边形会被送至描绘器(rasterizer)。
描绘器是对每一个多边形决定哪些像素是座落在多边形,并且尝试将相关的颜色值与深度(Z值)写入图幅缓冲区(frame buffer)表面。描绘器会以一个个像素的深度值(Z)来对被处理的多边型深度值(Z值)做比较,被比较的深度值可能已经被写入图幅缓冲冲区中,如果新的多边型像素的深度值较小,表示是在已被写入图幅缓冲区的多边形之前,因此在图幅缓冲区的值将被新值所取代,这是因为新的多边型会遮蔽先前处理的多边形并且被写入图幅缓冲区。这个过程会一直被重复直到所有的多边形都被描绘完成,此时,影像控制器(video controller)会将图幅缓冲区的内容依描绘次序以一次一条扫瞄线显示于显示器上。
依据所提供的一般背景,在图1中所显示的是电脑绘图系统中绘图管线的一些元件的功能流程示意图。由于这些在绘图管线中的元件会因为系统的不同而有所不同,也因此需要以不同的方式说明,就所知,电脑主机10(或运作于电脑主机的绘图应用程式设计界面API)可以产生一命令列12(command list),此命令列包含一连串绘图命令与用于在绘图显示器上彩现(render)一个“环境”的资料。在绘图管线中的元件是以在命令列12中的资料与命令来绘出在绘图显示器中的视框(screen)。
在这样的考量下,解析器14可以从命令列12中撷取资料并透过资料“解析”来解译命令并顺着(或进入)绘图管线传递定义绘图造型的资料。由于这样的考量,绘图造型可以用位置资料(如x,y,z与w座标)加上光照与材质资讯来定义,每一个造型的所有资讯可以被解析器14由命令列12中撷取出来,并且传递给顶点着色器(vertex shader 16)。在已知技术中,顶点着色器可以执行许多撷取自命令列的绘图资料转换。考量于此,资料可以由世界座标(World coordinates)转换为模型视景座标(Model View coordinates)、投影座标(Projection coordinates)以及最终的视框座标(Screen coordinates)。这些功能性的处理是由已知顶点着色器16来执行,所以不需要更进一步在此描述。在这之后,绘图资料被传递到描绘器18如以上概述被运作。
之后,Z测试20被用于在被运作的造型中的每一个像素。由已知技术可知,比较目前的Z值(如目前造型的一个指定像素的Z值)与相应目前像素位置所储存的Z值来执行Z测试。被储存的Z值提供先前被绘出的造型在指定像素位置的深度值,如果目前的Z值表示其深度比被储存的深度值更接近收视者的眼睛,则目前的Z值将取代被储存的Z值,并且目前的绘图资讯将取代在图幅缓冲区相对像素位置的色彩资讯(由像素着色器(pixel shader)所决定)。如果目前Z值并未比被储存的Z值更接近目前视点(viewpoint),则图幅缓冲区与Z缓冲区(z-buffer)内容都不需要被取代,先前被绘出的像素会被判定在目前像素之前。
另外,对那些在造型内被绘出并被决定是比先前像素更接近视点的像素而言,相关的资讯是被传递到像素着色器22,由像素着色器22来决定那些被决定是在更接近视点的造型的各像素的色彩资讯。色彩资讯包含像素是否是在阴影内,由已知技术可得知,可利用阴影空间的来决定成为阴影的区域。
参考图2,所示的图示为在电脑绘图系统产生阴影效果的阴影空间方法。在已知技术中,阴影空间34是针对一特定光源30定义了在一个特定遮蔽物32下的一阴影空间,每一个面对光源30的多边形视为一遮蔽物32,并且因而产生一阴影空间34。落在一阴影空间的一像素38在被绘出时是位在阴影中。像素38、39是由阴影空间方法以计算介于像素38、39与视者36(viewer)之间光线35(ray)进入光线33与离开点37阴影空间34的次数来决定像素38、39是否落于阴影空间中,例如从视者36到像素A38的光线35进入阴影空间一次,但是却没有离开过阴影空间34,因此像素A38是在阴影中。同样地,因为从视者36到像素B39的光线进入与离开阴影空间各一次,因此像素B39并不在阴影中。
因为光线追踪技术相当耗时,尤其是在多个遮蔽物与多个光源的下,图案(stencil)阴影空间方法是采用执行图案缓冲区来执行一个简单进/出计算的方法以简易这样的作业,它是采用在相对于视者或最大深度平面的一执行在阴影空间正面(front-facing)与背面(back-facing)多边形的Z测试来决定在阴影中的像素。例如,在图案阴影空间方法的实施上,图案缓冲区的值会在正面多边形与背面多边形穿过Z测试时会被分别递增与递减,因此如果最后的图案值为0,则像素不在阴影中。
参考图3,图案阴影空间方法可以在开始时先清除图案缓冲区40并且以扩散色彩42(diffuse colors)彩现景像(scene)42。在绘出时提供资料给图案缓冲区与深度缓冲区43,深度缓冲区也可以被称为Z缓冲区。Z缓冲区与彩色缓冲区的更新会被关闭44,除非图案值是在Z缓冲区中。对于每一个光源,阴影空间会针对每一个遮蔽物来被产生,并且此阴影空间的正面多边型会被绘出46。当正面多边形上的每一个像素被绘出时,图案缓冲区的值被递增47。同样的作业也用在背面多边形48,当背面多边形上的每一个像素被绘出时,图案缓冲区的值被递减49。图案值被递增与递减地穿过被视为图案阴影空间。在阴影中的物件会具有非0的图案值,并且被据以绘出。而不在阴影中的物件会具有0的图案值50,并且以反光色(specular color)来绘出52。以反光色来绘出的阴影外像素这样的穿过可以被视为反光色的穿过。回过头参考图1,一旦颜色资讯被像素着色器22计算出来时,资讯是被储存在图幅缓冲区24中。
再回去参考图2,在例子中,对像素A38而言图案缓冲区值在进入点33被绘出时对正面阴影空间多边形递增一次,但是并未递减,这是因为对像素A38而言并没有背面阴影空间多边形。此相应像素A38的非0值被保留在图案缓冲区,用来表示像素A38是在阴影中。同样地,相应于像素B39的图案缓冲区值在进入点33被绘出时对正面阴影空间多边形递增一次,并且在离开点37被绘出时对背面阴影空间多边形递减一次,由于图案缓冲区值为0,像素B39并不在阴影中,并且以反光色52被绘出。虽然在图2的例子中只有一个遮蔽物与一个光源,但是图案阴影空间方法更可用在多个遮蔽物与多个光源的阴影上。
虽然电脑绘图系统近来实做了一种压缩深度缓冲器(compressed depthbuffer;有时被称为ZL1),以降低对Z缓冲区的读取流量,目前这种解决方法在图案作业上并不是很有效率,尤其是当ZL1色砖(子色砖)在一个Z比较(Z-compare)函式之后被接受时。因为图案作业即使在通过Z测试后一样会发生,ZL1必需将色砖由接受(ACCEPT)状态改为重测(RETEST)状态,并且递送给Z缓冲区(有时也被称为ZL2)。目前Z缓冲区与图案缓冲区(由时被称为SL2)可以是被组合在一起,使得ZL2/SL2缓冲区的格式为32比特,并且Z值为32比特,以及图案值为8比特。在接受状态下,要使用8比特的图案值时,整个32比特Z/图案值必须被读出,使得存储器频宽的使用便得很没效率。
虽然在以上的叙述已经简短地概述了许多用来产生阴影的处理元件与技术的作业,对于已知处理绘图资料的相关技艺者来说这些技术还是十分被期待地,总而言的,很希望能够尽可能地将处理效率加以改善。
发明内容
本发明的目的、优点与新颍的特徵是于以下的描述中被述及,已知相关技艺者可据以了解或据以实作本发明后将能轻易推知,本发明的目的与优点可藉以其后的专利申请范围所清楚指出的手段与组合来被明了与得出。
据此,本发明的一具体实施例是一种被装配用来做为绘出阴影的装置,此装置被用于包含复数个深度缓冲区与复数个图案缓冲区的电脑绘图系统中,其中深度缓冲区与图案缓冲区可以是压缩的或不压缩的。此装置可更进一步包含用来在压缩或不压缩缓冲区产生与沟通资料的快取区,并可进一步包含用来控制深度与图案缓冲区的逻辑单元。
本发明的另一具体实施例是一包寒用来产生相应于一像素群组的压缩深度资料的绘图系统,已知相关技艺者可得知,像素群组可能包含有一色砖、一子色砖或超过一色砖。此绘图系统更进一步包含用来产生相应像素色砖的压缩图案阴影资料,使得这些资料被以图案阴影空间方法来产生。
本发明的再一具体实施例是一种在电脑绘图系统中产生阴影效果的方法,在这样的考量下,本方法的一种实施方式运用了使用一压缩图案缓冲区的图案阴影空间方法,此压缩图案阴影缓冲区与一压缩深度缓冲区共享一快取区。
本发明的更一具体实施例提供了一种以使用一压缩图案缓冲区来建立一阴影效果的装置,并且更进一步包含用来个别合并(merging)压缩图案阴影缓冲区资料到像素图案缓冲区的装置。
附图说明
为进一步说明本发明的技术内容,以下结合实施例及附图详细说明如何,其中:
图1是先前技术中传统绘图管道的功能方块示意图;
图2是先前技术中阴影空间的二维呈现;
图3是先前技术中图案阴影空间方法的功能方块示意图;
图4是根据本发明的一具体实施例所建构的一些绘图系统的元件;
图5所举例的是本发明的一具体实施例所使用的色砖格式;
图6所举例的是本发明的一具体实施的压缩图案缓冲区的资料格式的功能方块示意图;
图7所举例的是本发明的一具体实施的压缩阴影缓冲区的资料格式的功能方块示意图;
图8所举例的是本发明的一具体实施的压缩图案缓冲区之前置作业的功能方块示意图;
图9所举例的是本发明的一具体实施在SL1记录为必要时的处理程式的功能方块示意图;
图10所举例的是本发明的一具体实施的压缩图案缓冲区记录作业的功能方块示意图;
图11所举例的是本发明的一具体实施在图案阴影空间透过时的合并作业的功能方块示意图;
图12所举例的是本发明的一具体实施在反光色透过时的合并作业的功能方块示意图;
图13所举例的是本发明的一具体实施的压缩图案缓冲区合并作业的功能方块示意图;
图14所举例的是本发明的一具体实施在图案阴影空间透过时的SL1处理程序的功能方块示意图;以及
图15所举例的是本发明的一具体实施在反光色透过时的SL1处理程序的功能方块示意图。
具体实施方式
本发明在此所探讨的方向为一种在电脑绘图系统产生阴影效果的装置、系统与方法。为了能彻底地了解本发明,将在下列的描述中提出详尽的结构。显然地,本发明的施行并未限定于照明装置的技艺者所熟习的特殊细节。另一方面,众所周知的组成或制程步骤并未描述于细节中,以避免造成本发明不必要的限制。本发明的较佳实施例会详细描述如下,然而除了这些详细描述的外,本发明还可以广泛地施行在其他的实施例中,且本发明的范围不受限定,其以之后的发明范围为准。
图4列举了一些本发明的具体实施例的基本元件,如图示,电脑绘图系统硬件100可包含一绘图处理单元110与存储器120,存储器120可包含Z缓冲区130(ZL2)的图案缓冲区140(SL2)的特定配置。ZL2 130与SL2 140的资料结构可以被组合在一个单一的缓冲区150中,例如一个资料记录可以是32比特,其中包含相应于Z值132的24比特与相应于图案值142的8比特。由已知技术可知,ZL2/SL2缓冲区150是对每一个像素储存一个记录。
存储器120并且可以包含一个用于压缩Z缓冲区的配置160(ZL1),例如用来储存相应于像素色砖(tile of pixels)的z资料162。另外存储器120可包含一压缩图案缓冲区170(SL1),例如用来储存相应于像素色砖的图案值172。由已知技术可知,一个像素色砖可以是一组8×8、8×16或其他维度的像素组合,其组合方式是以达到所望的效能来考量。
绘图处理单元110包含一快取区112,由ZL1与SL1所共享,快取区112的一部份被设定用来储存ZL1与SL1的记录。另外,绘图处理单元110还可包含一快取区114,快取区114的一部份被设定用来储存ZL2与SL2的记录。快取区112与114是可分别被视为ZL1/SL1快取区与ZL2/SL2快取区,绘图处理单元110可更包含逻辑单元116,逻辑单元116是用来控制ZL1 160、SL1 170、ZL2 130与SL2 140,例如可做为图案阴影空间作业的用。逻辑单元116并可以被设定来执行深度资料与图案阴影资料的压缩,逻辑单元116更可以被设定来产生未压缩的图案阴影资料142,另外,逻辑单元116可以被设定来选择性地合并与SL1 170及SL2 140相关的压缩图案阴影资料172与未压缩图案阴影资料142。
参考图5,图示中举例了色砖的排列,在本发明的一具体实施例中,色砖190包含有64个像素194,例如是以8×8的方式排列,每个色砖更可以分为4个子色砖,例如每一个子色砖为8×2个像素。
图6中举例了一个用于SL1的资料格式,在本具体实施例中,在SL1 170的图案资料包含每个色砖190的记录180,所相应的色砖190是位于ZL1 160。在图6的例子中,一个用于8×8色砖190的资料记录180的格式具有四个8×2的子色砖192,这个记录并包含了相应于这四个子色砖192中每一个子色砖的8比特参考值182、相应于这64个像素中每一个像素的3比特的delta值184、相应于这4个子色砖192中每一个子色砖的SL1子色砖暗旗标186、相应于这4个子色砖192中每一个子色砖的溢位旗标188、与相应于这4个子色砖192中每一个子色砖的退位旗标189。
参考图7,图示为本发明的一具体实施例的实作,将在之后被描述,其归功于在压缩图案缓冲区170(SL1)的实作中所用的图案阴影空间方法可以在数种不同的方式来达成,相关的描述仅仅是为了呈现本发明的一具体实施例。
在色砖产生器210将像素聚集在8×8色砖之后,Z值被压缩并被存于ZL1中。被压缩的Z值接下来为了SL1被前置处理,以决定哪些子色砖应该在图案作业中被处理。例如,在以下的讨论中,任何在ZL1中具有一个接受状态(ACCEPT status)的子色砖会要求一个SL1记录。一命中测试(hit test)被执行在ZL1/SL1快取区,并且SL1记录点(entry)是为了存储器存取期间补偿,被置入深先进先出伫列218(deep FIFO)。SL1的记录作业220包含相关于上述的图案阴影空间作业的递增/递减功能,此外,SL1的记录作业还包含上述的设定状态旗标,这些功能将在下面描述中讨论更多的细节。
在SL1记录作业之后,区块产生器222创建了如相应于ZL2/SL2的像素图案资料的2×2区块,根据状态旗标的状态,SL1图案资料被选择性地合并到ZL2/SL2中。
图8举例了本发明的一具体实施例的SL1前置处理216,在SL1前置处理216中的第一步是检查相应于子色砖302的D_Mask比特的值。D_Mask是ZL1记录中的一个比特,被用来表示子色砖是否应该被绘制,如果D_Mask的值为0,则子色砖的状态为拒绝(REJECT)306,并且子色砖不需要SL1存取308。
在另一方面,如果相应于子色砖的D_Mask的值为1,则同为相应于子色砖的ZL1记录中的T_Mask会被检查314。T_Mask是位于ZL1记录中的一个比特,并且表示是否子色砖应该被重测。如果相应于子色砖的T_Mask具有0值,则子色砖的状态为接受316,并且在SL1中需要一个相应于色砖的记录318。如果相应于子色砖的T_Mask值为1,则子色砖的状态为重测(RETEST)320。如果4个子色砖的T_Mask值皆为重测状态,则子色砖不需要SL1存取308,如果色砖中的4个子色砖的任一为接受,则在SL1中需要一个相应于色砖的记录318。
参考图9,图示中举例出相应于色砖来取要求一个SL1记录的程序。当需要SL1记录318时,下一步为执行ZL1/SL1快取区命中测试324。如果测试结果为命中(hit),则相应于SL1记录的快取区资讯被移入深先进先出伫列330。如果测试结果为失败(miss),则SL1存储器要求会被产生328,并且相应于SL1记录的快取资讯被移入深先进先出伫列330。SL1先进先出伫列330为深度伫列,例如为64阶,用来对存储器要求期间做补偿。SL1先进先出伫列330储存SL1色砖资讯,包含被SL1前置处理所产生的ZL1/SL1快取位置。
参考图10,图示中所举例的是本发明的一具体实施例的SL1记录作业。如果子色砖是在重测状态400,则子色砖暗旗标被设置440,SM_Mask被设为1(450)并且SL1资料被合并至SL2资料。SM_Mask是一个以SL1的输出来加入的额外遮罩资料(mask data),用来表示SL1与SL2的合并是否为致能。如果子色砖不是在重测状态,则SM_Mask被设为0并且SL1作业被执行,SL1记录的基本作业为上述的递增/递减作业。因为三角形的表面选择了这个作业404,即造型的表面必须递送到这个单元。在递增/递减作业外,SL1记录作业将产生被储存在SL1记录内的状态旗标,这些旗标包含溢位、退位与子色砖暗旗标,例如,SL1记录作业可以在一递增作业中产生溢位旗标或在递减作业中产生退位旗标。递增作业的第一步为检查溢位旗标状态410,如果溢位旗标没有被设置,但是在作业为递增时子色砖将会溢位,则溢位旗标被设置410并且之后子色砖将会递增414,否则,如果溢位旗标被设置,则子色砖状态会由接受改为重测430。
在递减作业的情形下,退位旗标会被检查420,如果退位旗标没有被设置,但是在作业为递减时子色砖将会退位422,则退位旗标被设置426并且之后子色砖将会递减424。据此,如果退位旗标在递减作业开始时被设置,子色砖状态会由接受改为重测430。另一方面,如果子色砖在相对递增/递减作业并不接近溢位或退位情形,子色砖的参考值被递增或递减。如果子色砖状态由接受改为重测430,子色砖暗旗标被设440并且SM_Mask被设为1(450),其结果导致相应于子色砖的SL1与SL2资料被合并。
根据上述,当子色砖暗旗标在SL1被设置,SL1资料被合并到SL2,此合并作业说明了最后图案值在SL1与SL2中皆被散怖,合并作业可发生在图案阴影空间透过或反光色透过。在图案阴影空间透过时,如图11所示,子色砖可以是在溢位或退位情形中510,当这情形发生时,子色砖将由接受转换为重测512。此外,SM_Mask被产生来由SL1合并资料至SL2,其最后值为SL1+SL2的加总,并且被写入SL2中516。在资料被合并到SL2后,SL1的子色砖暗旗标比特会被重设为“0”518来表示子色砖是空的(clean),并且图案值可以被清除(cleared)520。这种动态合并可以降低相应于每一个子色砖的溢位与退位的机率。
[0001]参考图12,在反光色透过时,在ZL1控制暂存器(ZL1 control register)中的一个比特触发合并作业,此比特是于反光透过(specular pass)开始时被设置,并且是根据在SL1的色砖暗比特542与SL1子色砖暗比特544来设置。接着,设置SM_Mask 546,并在图案比较之前将SL1与SL2合并至ZL2(548)。最后,将总合写入SL2(550)。
SL1/SL2的合并会如同上述因SM_Mask的设置而给予信号。请参考图12,一般合并的流程。SM_Mask值是由SL1 500来读出,在这种情形下SM_Mask值为0,LS1资料504没有任何作业执行于其上。否则,当SM_Mask值为1(502),SL1与SL2中的加总值会被产生506,并且此最终的值会被写入SL2(508)。
参考图14,图示中所举例的是在图案阴影空间透过时的SL1处理程序。如果任一子色砖具有接受状态,在ZL1中的SL1色砖暗比特被设置600。对于任一具有接受状态的子色砖,SL1记录会被读取602,并且相应于SL1中子色砖的子色砖暗旗标会被设置604。在图案阴影空间递增/递减作业被执行606前,溢位/退位旗标会被检查608。如果溢位或退位旗标的一有被设置的话,SL1子色砖会被重置为0(610),并且状态会由接受改为重测610。此外,相应于子色砖的SM_Mask会被设置610,并且SL1资料会被往下传610,在SL1资料往下传后,SL1资料会被清除610。
如果SM_Mask为致能620,则从SL1与SL2来的值会被相加622来反应出最终图案值,额外的递增/递减作业会被执行622并且会在SL2写入这个值622。
参考图15,图示中所举例的是在反光色透过中的SL1处理程序。如果在ZL1中的SL1色砖暗比特为0时650,则相应于子色砖的SM_Mask会被设为0(652),在这种情形下,SL1记录没有必要被存取654,并且没有合并的必要656。如果在ZL1中的SL1色砖暗比特的值为1,则从SL1而来的记录会被读取662,并且SM_Mask会根据相应于每一个子色砖的SL1子色砖暗比特来被产生664。在ZL1中的SL1色砖暗比特会被重置为0(666)来确保SL1与SL2合并只会发生一次。
显然地,依照上面实施例中的描述,本发明可能有许多的修正与差异。因此需要在其附加的权利要求项的范围内加以理解,除了上述详细的描述外,本发明还可以广泛地在其他的实施例中施行。上述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在下述申请专利范围内。

Claims (21)

1.一种用于电脑绘图的装置,其特征在于,该用于电脑绘图的装置包含:
复数个用于储存深度资料的深度缓冲区,其中该复数个深度缓冲区中至少一个被设置来提供相应于一像素群组的深度资料,其中其他该复数个深度缓冲区中至少一个被设置来提供相应于该像素群组中各像素的深度资料;
复数个图案缓冲区,该复数个图案缓冲区被设置来储存图案阴影空间资料,其中该复数个图案缓冲区中至少一个被设置来提供相应于该像素群组的图案阴影空间资料,其中其他该复数个阴影空间缓冲区中至少一个被设置来储存相应于该像素群组中的各该像素的图案阴影空间资料;以及
一用来控制该复数个图案缓冲区与该复数个深度缓冲区的控制逻辑,其中该图案阴影空间资料是被该控制逻辑产生与储存。
2.如权利要求1所述的用于电脑绘图的装置,其特征在于,其中上述的复数个深度缓冲区包含:
一第一深度缓冲区,其中该第一深度缓冲区具有复数个第一深度缓冲区记录,每一个第一深度缓冲区记录分别储存相应于一像素群组的深度资料,其中该像素群组包含一色砖;以及
一第二深度缓冲区,其中该第二深度缓冲区具有复数个第二深度缓冲区记录,其中每一个该第二深度缓冲区记录分别储存相应于一个像素的深度资料。
3.如权利要求2所述的用于电脑绘图的装置,其特征在于,其中上述的复数个图案缓冲区包含:
一第一图案缓冲区,其中该第一图案缓冲区具有复数个第一图案缓冲区记录,每一个该第一图案缓冲区记录分别储存相应于该色砖的该图案阴影空间资料;以及
一第二图案缓冲区,其中该第二图案缓冲区具有复数个第二图案缓冲区记录,其中每一个该第二图案缓冲区记录分别储存各自所相应的一个像素的深度资料,其中第二图案缓冲区记录被设置为该第二深度缓冲区的一分割区。
4.如权利要求3所述的用于电脑绘图的装置,其特征在于,其中还包含:
一第一快取区,其中该第一快取区是被配置来与该第一深度缓冲区通讯资料,其中该第一快取区更被配置来与该第一图案缓冲区通讯资料;以及
第二快取区,其中该第二快取区是被配置来与该第二深度缓冲区通讯资料,其中该第二快取区更被配置来与该第二图案缓冲区通讯资料。
5.如权利要求4所述的用于电脑绘图的装置,其特征在于,其中还包含复数个子色砖,其中每一个该色砖被分为复数个该子色砖,其中被储存在该第一图案缓冲区记录的该图案阴影空间资料包含:
相应于该复数个子色砖的每一个该子色砖的一参考值;
相应于该像素群组中各该像素的一delta值;以及
复数个子色砖状态旗标。
6.如权利要求5所述的用于电脑绘图的装置,其特征在于,其中还包含一先进先出伫列硬件结构,其中该先进先出伫列硬件结构被设置来储存该第一图案缓冲区记录。
7.如权利要求5所述的用于电脑绘图的装置,其特征在于,其中上述的复数个子色砖状态旗标包含复数个子色砖暗旗标、复数个子色砖溢位旗标与复数个子色砖退位旗标,其中该复数个子色砖暗旗标之一是相应于该复数个子色砖的任一种,其中该复数个子色砖溢位旗标之一是相应于该复数个子色砖的任一种,其中该复数个子色砖退位旗标之一是相应于该复数个子色砖的任一种。
8.如权利要求4所述的用于电脑绘图的装置,其特征在于,其中上述的复数个图案缓冲区内含在复数个硬件存储器结构的任一种。
9.如权利要求4所述的用于电脑绘图的装置,其特征在于,其中上述的复数个深度缓冲区内含在复数个硬件存储器结构的任一种。
10.如权利要求4所述的用于电脑绘图的装置,其特征在于,其中上述的复数个资料快取区是位于一电脑绘图处理器中。
11.一种在电脑绘图系统中产生一阴影效果的方法,其特征在于,该电脑绘图系统中产生一阴影效果的方法包含:
以扩散色彩现一物件;
产生用来储存在一像素深度缓冲区中的相应于一景像的一像素深度资讯;
产生相应于一像素群组的深度资讯,其中该相应于一像素群组的深度资讯是被储存在一压缩深度缓冲区;
测试在压缩深度缓冲区的该深度资讯来决定该像素群组是否可能会用到在一压缩图案缓冲区的一阴影遮罩资料;
产生该阴影遮罩资料,其中该阴影遮罩资料之一第一部份是被产生于该压缩图案缓冲区,其中该该阴影遮罩资料的一第二部份是被产生于一像素图案缓冲区;
产生一阴影区域,其中该阴影区域是以被包含在该压缩图案缓冲区与该像素图案缓冲区的该深度遮罩资料来决定;以及
加入反光色给未在该阴影区域的物件。
12.如权利要求11所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中还包含:
产生一阴影空间,其中该阴影空间包含相对于一视点的复数个正面多边形,其中该阴影空间更包含相对于该视点的复数个背面多边形。
13.如权利要求12所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中还包含选择性地递增一子色砖参考值的步骤。
14.如权利要求13所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中还包含选择性地递减一子色砖参考值的步骤。
15.如权利要求14所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中上述像素群组为一色砖。
16.如权利要求14所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中上述像素群组为一子色砖。
17.如权利要求14所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中还包含设定在压缩图案缓冲区中的复数个状态旗标,其中该复数个状态旗标被设定来表示在压缩图案缓冲区中的阴影遮罩资料的一部份为不完整。
18.如权利要求17所述的在电脑绘图系统中产生一阴影效果的方法,其特征在于,其中还包选择性合并在压缩图案缓冲区的该阴影遮罩资料到像素遮罩缓冲区,其中该复数个状态旗标的状态是被运用来选择出从该压缩图案缓冲区被合并到该像素缓冲区的阴影遮罩资料。
19.一种电脑绘图系统,其特征在于,包含:
深度资料压缩逻辑,该深度资料压缩逻是被设置来产生压缩深度资料,其中该压缩深度资料是相应于一像素群组;
阴影资料压缩逻辑,该阴影资料压缩逻辑是被设置来产生一压缩图案阴影资料,其中该压缩图案阴影资料是相应于该像素群组,其中该压缩图案阴影资料被产生来运用一图案阴影空间方法;
阴影资料产生逻辑,该阴影资料产生逻辑是被设置来产生未压缩图案阴影资料,其中该未压缩图案阴影资料是被产生来运用该图案阴影空间方法;以及
被设置以未压缩图案阴影空间资料来选择性合并该压缩图案阴影资料的阴影资料合并逻辑。
20.如权利要求19所述的电脑绘图系统,其特征在于,其中上述的阴影资料产生逻辑更被设置来选择性产生未压缩图案阴影资料,其中该未压缩图案资料是依据超出一范围的压缩图案阴影资料来被选择性产生,其中该范围是以该压缩图案阴影资料的格式来决定。
21.如权利要求20所述的电脑绘图系统,其特征在于,其中上述的阴影资料合并逻辑更被设置来选择性合并压缩图案阴影资料与该未压缩图案阴影资料,其中合并作业是以复数个资讯状态期标的状态来决定。
CNB2004100952966A 2004-03-19 2004-11-19 使用图案阴影来产生阴影效果的方法与装置 Active CN100342403C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/804,862 2004-03-19
US10/804,862 US7030878B2 (en) 2004-03-19 2004-03-19 Method and apparatus for generating a shadow effect using shadow volumes

Publications (2)

Publication Number Publication Date
CN1609898A true CN1609898A (zh) 2005-04-27
CN100342403C CN100342403C (zh) 2007-10-10

Family

ID=34795855

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100952966A Active CN100342403C (zh) 2004-03-19 2004-11-19 使用图案阴影来产生阴影效果的方法与装置

Country Status (3)

Country Link
US (1) US7030878B2 (zh)
CN (1) CN100342403C (zh)
TW (1) TWI275039B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349186C (zh) * 2005-09-09 2007-11-14 威盛电子股份有限公司 调适性阴影空间算法的阴影产生方法与装置
CN100354891C (zh) * 2004-08-23 2007-12-12 威盛电子股份有限公司 一种改良的模板阴影锥操作的方法与装置
CN101617344B (zh) * 2007-09-28 2012-03-21 科乐美数码娱乐株式会社 图像生成装置以及图像生成方法
CN103546159A (zh) * 2012-07-12 2014-01-29 辉达公司 模板数据压缩系统和方法和包含其的图形处理单元
CN104715503A (zh) * 2013-12-13 2015-06-17 想象技术有限公司 图形处理系统中的基元处理
US11069024B2 (en) 2013-12-13 2021-07-20 Imagination Technologies Limited Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184040B1 (en) * 2003-11-21 2007-02-27 Nvidia Corporation Early stencil test rejection
US7978194B2 (en) * 2004-03-02 2011-07-12 Ati Technologies Ulc Method and apparatus for hierarchical Z buffering and stenciling
US7589722B2 (en) * 2004-08-10 2009-09-15 Ati Technologies, Ulc Method and apparatus for generating compressed stencil test information
US7538765B2 (en) * 2004-08-10 2009-05-26 Ati International Srl Method and apparatus for generating hierarchical depth culling characteristics
US20070002044A1 (en) * 2005-06-30 2007-01-04 Adam Lake System and method for a compressed hierarachical stencil buffer
US8766995B2 (en) * 2006-04-26 2014-07-01 Qualcomm Incorporated Graphics system with configurable caches
US20070268289A1 (en) * 2006-05-16 2007-11-22 Chun Yu Graphics system with dynamic reposition of depth engine
US8884972B2 (en) * 2006-05-25 2014-11-11 Qualcomm Incorporated Graphics processor with arithmetic and elementary function units
US8869147B2 (en) * 2006-05-31 2014-10-21 Qualcomm Incorporated Multi-threaded processor with deferred thread output control
US8644643B2 (en) 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor
US8766996B2 (en) * 2006-06-21 2014-07-01 Qualcomm Incorporated Unified virtual addressed register file
US7847798B1 (en) * 2006-10-24 2010-12-07 Adobe Systems Incorporated Clipping and culling artwork using a graphics processing unit
US8264503B1 (en) * 2006-10-24 2012-09-11 Adobe Systems Incorporated Batch early engagement rules graphics processing
US8427495B1 (en) 2006-11-01 2013-04-23 Nvidia Corporation Coalescing to avoid read-modify-write during compressed data operations
US9058792B1 (en) * 2006-11-01 2015-06-16 Nvidia Corporation Coalescing to avoid read-modify-write during compressed data operations
US8232991B1 (en) 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
JP4902748B2 (ja) * 2006-12-08 2012-03-21 メンタル イメージズ ゲーエムベーハー 階層型オクルージョンカリングを使用するコンピュータグラフィックシャドウボリューム
US8736627B2 (en) * 2006-12-19 2014-05-27 Via Technologies, Inc. Systems and methods for providing a shared buffer in a multiple FIFO environment
US7817165B1 (en) * 2006-12-20 2010-10-19 Nvidia Corporation Selecting real sample locations for ownership of virtual sample locations in a computer graphics system
US7876332B1 (en) 2006-12-20 2011-01-25 Nvidia Corporation Shader that conditionally updates a framebuffer in a computer graphics system
US8547395B1 (en) 2006-12-20 2013-10-01 Nvidia Corporation Writing coverage information to a framebuffer in a computer graphics system
US8184117B2 (en) * 2007-05-01 2012-05-22 Advanced Micro Devices, Inc. Stencil operations
US8184118B2 (en) * 2007-05-01 2012-05-22 Advanced Micro Devices, Inc. Depth operations
US10115221B2 (en) * 2007-05-01 2018-10-30 Advanced Micro Devices, Inc. Stencil compression operations
US7970237B2 (en) * 2007-08-01 2011-06-28 Adobe Systems Incorporated Spatially-varying convolutions for rendering glossy reflection effects
US7982734B2 (en) * 2007-08-01 2011-07-19 Adobe Systems Incorporated Spatially-varying convolutions for rendering soft shadow effects
US8004522B1 (en) 2007-08-07 2011-08-23 Nvidia Corporation Using coverage information in computer graphics
US8325203B1 (en) 2007-08-15 2012-12-04 Nvidia Corporation Optimal caching for virtual coverage antialiasing
US20090046105A1 (en) * 2007-08-15 2009-02-19 Bergland Tyson J Conditional execute bit in a graphics processor unit pipeline
JP4995969B2 (ja) * 2007-10-03 2012-08-08 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 行傾きコードワード及び列傾きコードワードを使用する画素ブロック値の可逆圧縮のための方法、圧縮器、伸張器及び信号表現
JP4852555B2 (ja) * 2008-01-11 2012-01-11 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、ならびに、プログラム
US20110141112A1 (en) * 2009-12-11 2011-06-16 William Allen Hux Image processing techniques
US9633467B2 (en) * 2012-12-26 2017-04-25 Adshir Ltd. Stencil mapped shadowing system
US9117306B2 (en) * 2012-12-26 2015-08-25 Adshir Ltd. Method of stencil mapped shadowing
KR20160071774A (ko) * 2014-12-12 2016-06-22 삼성전자주식회사 영상 처리를 위한 영상 처리 장치, 방법 및 기록 매체
US10026204B2 (en) 2015-01-27 2018-07-17 Splunk Inc. Efficient point-in-polygon indexing technique for processing queries over geographic data sets
US9916326B2 (en) 2015-01-27 2018-03-13 Splunk, Inc. Efficient point-in-polygon indexing technique for facilitating geofencing operations
US9607414B2 (en) 2015-01-27 2017-03-28 Splunk Inc. Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures
US9767122B2 (en) 2015-01-27 2017-09-19 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
US9836874B2 (en) * 2015-01-27 2017-12-05 Splunk Inc. Efficient polygon-clipping technique to reduce data transfer requirements for a viewport
US10453170B2 (en) 2016-09-09 2019-10-22 Intel Corporation Minimum/maximum and bitwise and/or based coarse stencil test
CN111339463B (zh) * 2020-02-19 2023-07-04 望海康信(北京)科技股份公司 列表数据的展示方法、装置和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
AU5686199A (en) * 1998-08-20 2000-03-14 Apple Computer, Inc. Deferred shading graphics pipeline processor
US6384822B1 (en) * 1999-05-14 2002-05-07 Creative Technology Ltd. Method for rendering shadows using a shadow volume and a stencil buffer
US6557083B1 (en) * 2000-06-30 2003-04-29 Intel Corporation Memory system for multiple data types
US6646640B2 (en) * 2001-02-06 2003-11-11 Sony Computer Entertainment Inc. System and method for creating real-time shadows of complex transparent objects
US6798421B2 (en) * 2001-02-28 2004-09-28 3D Labs, Inc. Ltd. Same tile method
US6903741B2 (en) * 2001-12-13 2005-06-07 Crytek Gmbh Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
US7145565B2 (en) * 2003-02-27 2006-12-05 Nvidia Corporation Depth bounds testing

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100354891C (zh) * 2004-08-23 2007-12-12 威盛电子股份有限公司 一种改良的模板阴影锥操作的方法与装置
CN100349186C (zh) * 2005-09-09 2007-11-14 威盛电子股份有限公司 调适性阴影空间算法的阴影产生方法与装置
CN101617344B (zh) * 2007-09-28 2012-03-21 科乐美数码娱乐株式会社 图像生成装置以及图像生成方法
CN103546159A (zh) * 2012-07-12 2014-01-29 辉达公司 模板数据压缩系统和方法和包含其的图形处理单元
CN104715503A (zh) * 2013-12-13 2015-06-17 想象技术有限公司 图形处理系统中的基元处理
CN104715503B (zh) * 2013-12-13 2019-05-21 想象技术有限公司 图形处理系统中的基元处理
US10867433B2 (en) 2013-12-13 2020-12-15 Imagination Technologies Limited Primitive processing in a graphics processing system
US11069024B2 (en) 2013-12-13 2021-07-20 Imagination Technologies Limited Primitive processing in a graphics processing system with tag buffer storage of primitive identifiers
US11164365B2 (en) 2013-12-13 2021-11-02 Imagination Technologies Limited Primitive processing in a graphics processing system
US11538215B2 (en) 2013-12-13 2022-12-27 Imagination Technologies Limited Primitive processing in a graphics processing system
US11748941B1 (en) 2013-12-13 2023-09-05 Imagination Technologies Limited Primitive processing in a graphics processing system

Also Published As

Publication number Publication date
US7030878B2 (en) 2006-04-18
US20050206647A1 (en) 2005-09-22
TWI275039B (en) 2007-03-01
TW200519771A (en) 2005-06-16
CN100342403C (zh) 2007-10-10

Similar Documents

Publication Publication Date Title
CN100342403C (zh) 使用图案阴影来产生阴影效果的方法与装置
CN112270756B (zh) 一种应用于bim模型文件的数据渲染方法
US7126615B2 (en) Color compression using multiple planes in a multi-sample anti-aliasing scheme
US7911480B2 (en) Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline
CN1581234A (zh) 使用多遍形成方式的图形基元成形装置及方法
US6891533B1 (en) Compositing separately-generated three-dimensional images
US8456468B2 (en) Graphic rendering method and system comprising a graphic module
US20060170703A1 (en) Color compression using an edge data bitmask in a multi-sample anti-aliasing scheme
US9865065B2 (en) Method of and graphics processing pipeline for generating a render output using attribute information
US7812837B2 (en) Reduced Z-buffer generating method, hidden surface removal method and occlusion culling method
CN1317666C (zh) 适于创建透明对象的实时阴影的系统和方法
EP0740272A2 (en) Method and apparatus for fast rendering of three-dimensional objects
CN103810742A (zh) 图像渲染方法和系统
US20070268291A1 (en) Occlusion Culling Method and Rendering Processing Apparatus
US20050231506A1 (en) Triangle identification buffer
JP2002529865A (ja) 画像処理装置
KR20120034293A (ko) 정점 처리 방법 및 장치
US7277098B2 (en) Apparatus and method of an improved stencil shadow volume operation
CN101183459B (zh) 于计算机环境中共享缓冲器的系统及方法
US6396502B1 (en) System and method for implementing accumulation buffer operations in texture mapping hardware
US7116333B1 (en) Data retrieval method and system
WO2020015808A1 (en) Primitive z-sorting
CN116993894B (zh) 虚拟画面的生成方法、装置、设备、存储介质及程序产品
CN1279494C (zh) 在二维屏幕上对图像着色的着色方法
CN1260686C (zh) 重复使用光点资料的电脑绘图装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant