使用多遍形成方式的图形基元成形装置及方法制造方法及图纸

技术编号:2949188 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术是关于一种使用多遍形成方式的图形基元成形装置及方法,在其中一实施例中,在通过绘图管线之图形基元资料的第一遍中,为该图元产生一个压缩的Z-缓冲区。还产生一个图元遮罩,该图元遮罩指示是否该图元的所有像素均为视觉上隐藏;在第二遍中,仅当图元的图元遮罩指示该图元的某些部分可见时,才将该给定图元的图形资料传送到管线中。因此,在该图元上进行了一个两级Z-测试。在该两级Z-测试中,使用在第一遍内所产生该压缩的Z-缓冲区以一次将几个像素群进行第一级比较的使用多遍形成方式的图形基元成形装置及方法(APPARATUS  AND  METHOD  FOR  RENDERING  GRAPHICS  PRIMITIVES  USING  A  MULTI-PASS  RENDERING  APPROACH)。

【技术实现步骤摘要】

本专利技术涉及一种图像系统,特别是涉及一种使用多遍形成方式(multi-pass rendering approach)的图形基元(graphics primitives)成形装置及方法。
技术介绍
众所周知,三维(3D)电脑图形涉及用于在显示装置或显示器上显示或表现之3D物体之二维(2D)影像的产生(generation)及成形(rendering),如阴极射线管(CRT)或液晶显示器(LCD)。该物体可能是一个简单的几何元素,如一个点、一条线段、一个三角形或一个多边形。更复杂的物体可以通过用一系列相连的平面多边形来表现,例如,将物体用一系列相连的三角形进行表现。所有几何元素归根结底都可以用一个或多个定点来描述,例如,定义一个点如一条线段的端点或一个多边形的角的座标系(X,Y,Z)。为了产生用于将一个3D元素用一个有代表性的2D映射显示于一个电脑显示器或其他显示装置之上的一个资料组,该3D元素的各顶点均被通过一个绘图管线(graphics-rendering pipeline)中的一系列操作或处理阶段(processing stages)而进行处理。一个普通管线仅是一系列层叠处理单元或阶段,其中前一阶段的输出作为后一阶段的输入。在一个图形处理器中,这些阶段包括了如个别顶点操作(per-vertex operations)、元素组装操作(primitive assembly operations)、像素操作(pixel operations)、纹理组装操作(texture assembly operations)、光栅化操作(rasterizationoperations)及碎片操作(fragment operations)。在一个典型的图形显示系统中,一个影像资料库(例如命令列表)可能存储图形中物体的描述。该物体被用许多小多边形来表示,这些小多边形如同大量区块可以覆盖一面墙和其他表面一样覆盖该物体的表面。每一个多边形可以描述为一系列顶点座标(座标模型中的X,Y,Z)和关于材料表面特性的描述(如,颜色、纹理、光泽度等),可能还包括各个顶点到该表面的向量(箭头)。对于具有复杂的曲面三维物体,这些多边形一般必须为三角形或平行四边形,而后者又可以分解为一对三角形。转换引擎依照使用者所输入的使用者所选视角而转换该物体座标。另外,使用者可以规定视域,所产生影像的大小,以及视域的深度(底线),并以此来根据要求而包含或消除背景。一旦此视域被选定,剪切逻辑(clipping logic)消除这些位于视域外的多边形(如三角形),并剪切那些部分位于视域之外的多边形。这些被剪切的多边形位于视域内的部分将会相应地被补充一个与视域边界吻合的边线。然后这些多边形的顶点将被以座标形式传送到下一个阶段,这些座标与所视萤幕(X,Y座标轴)相应,且每个顶点具有一个深度(Z座标)。在一个典型系统中,光亮模型在使用时考虑到其光源。多边形以及其颜色值则被传送到一个光栅(rasterizer)。对每个多边形,光栅决定该多边形覆盖哪些像素位置(pixelpositions),并试图将相应的颜色值及深度(Z值)写入像框缓冲区(framebuffer)。该光栅将正被处理的多边形的深度值(Z)与一个像素的深度值相比较,该像素可能已经被写入像框缓冲区。如果该新多边形的像素深度值较小,表示其在已写入像框缓冲区的多边形的前侧,其值将代替像框缓冲区内已有的值,新多边形覆盖以前处理并写入像框缓冲区内的多边形。此过程重复进行,直至所有的多边形都被光栅处理过。此时,一个视频控制器(video controller)将按光栅处理顺序一次一条扫描线地将一个像框缓冲区的内容显示于一个显示器上。在提供了以上普通背景知识后,请参阅图1,该图为电脑图形系统中一个绘图管线的某些元件的功能流程图。应当清楚不同系统的绘图管线内元件是不同的,并且可以用多种不同方式表示。图1内的元件均用一种特定方式描述,以与其后的图例共同清楚显示本专利技术的特定特性。众所周知,主电脑10(或者在主电脑上运行的图形应用程式介面)可以产生命令列表12,该命令列表包括一系列用于在图形显示器上表现“环境”的图形命令及资料。该绘图管线内的元件可以对该命令列表12内的资料及命令进行操作以在一个图形显示器上表现一个萤幕。此处,一个解析器(Parser)14可以从命令列表12提取资料,筛选这些资料以解释命令,并将定义图形基元的资料沿绘图管线(或向绘图管线内)传送。此处,可由位置资料(如X,Y,Z和W座标)定义图形基元之亮度、及纹理资料。对每个图元而言,所有这些资讯均可经由解析器14从命令列表12取得,并被传送到一个顶点着色引擎(Vertex Shader)16。众所周知,该顶点着色引擎16可以对由命令表12得来的图形资料做多种变换。此处,资料可能由世界座标(World coordinates)转换成模型视图座标(Model Viewcoordinates)、投影座标(Projection coordinates),并最终转换成萤幕座标(Screen coordinates)。该顶点着色引擎16所进行的功能处理已为人们所熟悉,此处不再进一步解释。在顶点着色引擎之后,这些图形资料可以被传送到光栅18,该操作如以上所述。然后,在被操作的图元内的每个像素上进行Z-测试20。众所周知,这个Z-测试是藉由将当前Z-值(即当前图元之给定像素的Z-值)与对应像素位置的一个存储的Z-值相比较而完成。该存储的Z-值提供前一图元的深度值用于一给定像素位置。如果当前Z-值所表示之深度比存储的Z-值更接近观察者眼睛,则当前Z-值将替换存储的Z-值,并且当前图像资讯(如颜色)将替换对应像框缓冲区中像素位置(由像素着色引擎22决定)的颜色资讯。如果对当前视点而言,当前Z-值并不比存储的Z-值距离更近,则像框缓冲区及Z-缓冲区均不需被替换,因为前一个形成的图元将显示在当前图元的前侧。又,对于已形成并被确定的图元内像素比之前存储像素更接近视点,该图元相关资讯被传送到像素着色引擎22处,该像素着色引擎22决定此被确定较接近当前视点之图元内每个像素的颜色资讯。一旦像素着色引擎22计算出其颜色资讯,此资讯将被存储于像框缓冲区24内。尽管上文仅对各种不同处理元件的操作进行了简单介绍,本领域的技术人员可以认识到图形资料上的操作是很密集的。此处,大量的资料被由命令列表12取得并处理。在大量的过量提取的情况下,很大一部分处理是根本不必要的。此处,一个过量提取是一个像素被形成并存储于像框缓冲区内,但其将被下一个处理的另外一个图元的一个像素所覆盖的情况。尽管编程者可以选择例如在构成一个图形时将图形元素按照从前面到后面的顺序排列的方法,以最小化或消除过量提取的情况,一般编程者并不会这样做,因此命令列表12内的图形资讯是无序的。相应地,急需提供一种改进的结构和/或方法来提高一个绘图管线内图形处理的效率。由此可见,上述现有的在结构、方法与使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般产品又没有适切的结构能够解决上述问题,此显然是相关业者急欲解决的问题。有本文档来自技高网...

【技术保护点】
一种多遍形成多图元的方法,包括下列步骤:在一第一遍(firstpass)中:对于每一该些图元仅传送有限组之图形资料通过一绘图管线;处理该有限组之图形资料而建立一压缩的Z-缓冲区,该压缩的Z-缓冲区包括多数个Z-记 录,每一该些Z-记录包含多数个像素的Z资讯;对于每一该些图元,若该图元之任一该些像素被确定为可见,则设置一可视性指示;在一第二遍(secondpass)中:对于每一该些图元,确定该相关的可视性指示是否被设置; 将该相关的可视性指示未被设置的该些图元舍弃,而不将其经该绘图管线传送;对于该相关的可视性指示已被设置的该些图元,传送一组完整的图形资料;以及对图形资料进行一两级Z-测试,其中一第一级Z-测试系将一当前图元之图形资料与该压 缩的Z-缓冲区内的相应资讯进行比较,以及其中一第二级Z-测试系以一传统的Z-测试方式逐一像素进行,其中该第二级Z-测试仅对该压缩的Z资讯的记录内之像素进行,该记录内该第一级Z-测试中确定为巨集像素之一部分而非全部像素可见。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:洪洲徐建明
申请(专利权)人:旭上绘图股份有限公司
类型:发明
国别省市:US[美国]

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

1