CN1260686C - 重复使用光点资料的电脑绘图装置 - Google Patents
重复使用光点资料的电脑绘图装置 Download PDFInfo
- Publication number
- CN1260686C CN1260686C CN 02140740 CN02140740A CN1260686C CN 1260686 C CN1260686 C CN 1260686C CN 02140740 CN02140740 CN 02140740 CN 02140740 A CN02140740 A CN 02140740A CN 1260686 C CN1260686 C CN 1260686C
- Authority
- CN
- China
- Prior art keywords
- luminous point
- mentioned
- present
- value
- hitting
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种重复使用光点资料的电脑绘图装置,该电脑绘图装置包括一储存区、数个比较器、一编码器、一计数器以及一多工器;储存区具有复数个项目储存光点索引,每一比较器就这些项目中对应的内容和目前收到的顶点索引做比较,以判定二者是否相同;若相同则编码器报告一命中值,表示一命中状态并且产生一地址,而此地址指向的项目存放着与目前收到的顶点索引相同的光点索引,若命中值不是表示命中状态,计数器用来递加一更新指标,而多工器则根据命中值选择性地输出一参考位置;本发明不重复处理相同的顶点,而是从记忆缓冲区里取回光点资料来进行更进一步地处理,明显提高了电脑绘图系统的效率,节省大量的运算时间;且仅使用极少的电路便能实施,节约成本。
Description
技术领域
本发明涉及电脑绘图系统,特别指一种利用几何加速器(geometryaccelerator)加上绘图管理模组以增进效能的重复使用光点资料的电脑绘图装置。
背景技术
电脑绘图系统通常用来将物体的图形表现显示在二维(two-dimensional)的屏幕上,目前的电脑绘图系统已可提供高度细致的图形表示,而且能够运用许多不同的应用里。
在典型的电脑绘图系统中,屏幕上显示的对象可被分解成数个绘图图元(Primitive)来表现,图元为绘图影像的基本元件,包括了点、线、三角形或四边形之类的多边形。一般而言,将绘图图元表现或描绘在二维的屏幕上可以软/硬件的方式实现,而能够在屏幕上呈现物体多面的视觉感受。
由主电脑所提供图元通常以图元资料来定义需要表现的三维物体,例如,当图元为三角形时,主电脑可以X、Y、Z座标以及红、绿、蓝、透明度(R、G、B、α)等色彩值来定义其每一顶点的图元,表现硬件(renderinghardware)对图元资料进行内插以计算出显示在屏幕上代表图元的每一个像素(pixel)及其R、G、B和α值电脑绘图系统通常包括几何加速器、点线扫瞄器(rasterizer)以及页框缓冲器,还可以加上纹理映像装置。几何加速器从定义形成景象的图元的主电脑接收图元资料,并且对图元资料进行转换以及对每一图元执行打光(lighting)、修剪(clipping)、和平面方程式计算之类的功能。点线扫瞄器与纹理映像装置利用几何加速器的输出——表现资料来产生每个图元里每个像素的屏幕座标及色彩资料,结合从点线扫瞄器、纹理映像装置得到的像素资料并将其存放在页框缓冲器以显示在屏幕上。
传统几何加速器102的基本元件如图1所示,包括撷取单元110、转换引擎(transform engine)120和打光引擎(lighting engine)130。通过送出资料要求REQ,撷取单元110能够根据顶点索引IDX接收顶点资料VTD,转换引擎120通过汇流排112从撷取单元110接收顶点资料,并对这些资料执行由顶点资料所定义的影像空间旋转与平移转换,通过汇流排122,打光引擎130基于顶点资料和打光条件计算出图元顶点的最终色彩。如图示,打光引擎130通过汇流排132输出以执行更进一步地处理。
由于主电脑和几何加速器之间的资料转移数量非常庞大,而且几何加速器正常而言每秒钟需进行数亿次的浮点运算,前述的几何加速器运算极度繁重,为加速电脑绘图系统的整体运算,一般是使用专门的硬件电路来针对转换和打光处理,然而还是需要再进一步改善效能,特别是减少由几何加速器所执行的计算。
发明内容
有鉴于此,本发明希望提出一种重复使用光点资料的电脑绘图装置,如此几何加速器处理的全部顶点资料数量可以降到最低。
为达成上述目的,本发明提出一种重复使用光点资料的电脑绘图装置,适用于电脑绘图系统,其至少包含:一储存区,具有复数个项目,每一项目用来储存一光点索引;复数个比较器,每一比较器就该些项目中与其对应的项目的内容和一目前收到的光点索引做比较,以判定该目前收到的光点索引和该比较器对应的该项目的内容是否相同;一编码器,根据该些比较器的输出以报告一命中值并且产生一地址,其中,当该些比较器其中的一比较器判定该目前收到的光点索引和该比较器对应的该项目的内容为相同,则该命中值表示一命中状态,且该地址指向该对应的项目其存放着与该目前收到的光点索引相同的该光点索引;一计数器,当该命中值不是表示该命中状态时,用来递加一更新指标;以及一多工器,根据该命中值选择性地输出一参考位置,若该命中值表示该命中状态,则选择输出该地址当作该参考位置,若该命中值不是表示该命中状态,则选择输出该更新指标当作该参考位置。
另一方面,本发明还提出一种绘图管理模组,适用于一电脑绘图系统的一几何加速器,其至少包含:一参考资讯产生器,接收一顶点索引,用来提供一命中值和一参考位置;一参考资讯队列,用来储存该命中值和该参考位置;一资料缓冲器,用来储存由该几何加速器处理过的至少一光点资料;以及一资料管理器,从该参考资讯队列撷取该命中值和该参考位置,当该命中值表示与接收到的该顶点索引相关的该光点资料先前已存放于该资料缓冲器时,用来控制该资料缓冲器根据该参考位置取出该光点资料,当该命中值表示与接收到的该顶点索引相关的该光点资料不存在于该资料缓冲器时,用来控制该资料缓冲器根据该参考位置储存由该几何加速器处理过的该光点资料。
本发明的优点是明显的,因为电脑绘图里表现物体的大多数图元为互相紧邻的图元,这些相邻的图元共有相同的顶点,对于传统的电脑绘图系统而言,相同的顶点资料是会被重复的处理,然而,几何加速器的运算却是极为繁重,一再地重复处理相同的顶点将会大幅降低几何加速器的速度和效率。但本发明并不重复处理相同的顶点,取而代之的是从记忆缓冲区里取回光点资料,而且利用它来进行更进一步地处理,这将明显地降低几何加速器运算的负担以及减少主电脑和电脑绘图系统之间资料转移的数量,因此,本发明能够节省大量的运算时间而大幅地增进效能。除此之外,本发明的绘图管理模组仅使用了极少的电路便能实施,如此能够用来实现平价的电脑绘图系统,并且可以在集成电路晶片中保留空间以在未来增加新的绘图处理功能。
附图说明
图1是根据习知技术的几何加速器方块图;
图2是几何加速器加上本发明主要功能元件的方块图;
图3是根据本发明的参考资讯产生器的方块图;
图4是本发明参考资讯产生器执行的主要步骤的流程图;
图5是本发明资料管理器执行的主要步骤的流程图;以及
图6A-6C是本发明较佳实施例的运作范例说明图。
具体实施方式
如图2所示,一绘图管理模组200搭配一几何加速器202,其中绘图管理模组200包括一参考资讯产生器240、一参考资讯队列250、一资料管理器260以及一资料缓冲器270,而几何加速器202的基本元件为撷取单元210、转换引擎220和打光引擎230。通过送出资料要求RFQ,撷取单元210能够根据得自参考资讯产生器240的顶点索引IDX来接收顶点资料VTD,转换引擎220通过汇流排212从撷取单元210接收顶点资料,并对这些资料进行转换,打光引擎230通过汇流排222接收转换过的顶点资料并基于顶点资料和打光条件计算出这些图元的顶点的最终色彩,结果,打光引擎230通过汇流排232提供这些经过打光处理的顶点资料(亦即光点资料)给资料缓冲器270。
在实施例中,参考资讯产生器240接收顶点索引IDX,并用来提供包含命中值和参考位置的参考资讯,参考资讯产生器240比较现在和最近那些收到的顶点资料,根据比较的结果,参考资讯产生器240决定是否需要通过信号线244通知撷取单元210接收顶点资料。命中值代表了与现在接收到的顶点索引相关的顶点资料是否能被重复利用。根据参考位置,将与目前收到的顶点索引相关的光点资料储存在资料缓冲器270相对应的位置,参考资讯产生器240经由汇流排242把参考资料送到参考资讯队列250。参考资讯队列250用来储存上述的命中值和参考位置,参考资讯队列250可以缓冲暂存参考资讯产生器240和资料管理器260之间的参考资讯流,并且以配置成先进先出(FIFO)型的缓冲器为较佳。
资料缓冲器270用来储存由几何加速器202处理过的光点资料,而资料管理器260经由汇流排252从参考资讯队列250撷取命中值和参考位置,在实施例中,资料管理器260通过信号线262控制资料缓冲器270。当命中值表示与目前收到的顶点索引相关的光点资料先前已存放于资料缓冲器270时,资料管理器260控制资料缓冲器270根据这个参考位置直接取出光点资料;否则,资料管理器260控制资料缓冲器270根据这个参考位置储存由几何加速器202处理好的光点资料。最后,光点资料可通过汇流排272以进行更进一步地处理。
参考图3,为根据本发明的参考资讯产生器240的方块图;参考资讯产生器240由储存区310、编码器330、计数器340、多工器350以及复数个比较器320a~d所组成。储存区310具有复数个项目312,每一项目用来储存一光点索引,如图中所举例,储存区310有4个项目而可容纳4个储存区310,并最好配置成循环式记忆缓冲器(circular buffer),以具有4个项目的储存区310为例是为说明方便的目的,熟悉此技艺的人士当能应用本发明的原则到任何大小的储存装置。比较器320a~d每一个各自就这些项目中与其对应的项目的内容和一个目前收到的顶点索引做比较,以判定目前收到的顶点索引和比较器对应的项目的内容是否相同,在实施例中,若某个项目的内容和目前收到的顶点索引相同,则对应的比较器输出设定为逻辑‘1’。
继续参考图3,储存区310还提供4个有效性位元VB[3:0]给编码器330,由于在开机供应电源后,项目312中的内容都是乱数,因此有效性位元VB[3:0]全部初始化为逻辑‘0’。当一个顶点索引存放在储存区310中的某个项目时,对应的有效性位元会被设为逻辑‘1’,利用有效性位元VB[3:0]可以防止编码器330产生非预期的结果。编码器330根据这些比较器的输出R0~R3而报告命中值HIT并且产生地址Hiposition,其中,地址Hiposition指向的项目中存放着与目前收到的顶点索引相同的光点索引,本发明实施例中用来编码比较器的输出R0~R3的编码表如下列表一所示:
表一
编码器输出 | 编码器输入 | |||
Hiposition | R3 | R2 | R1 | R0 |
0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 1 | 0 | 0 | 0 |
为产生命中值HIT,编码器330还执行下列逻辑运算:
HIT=(RO AND VB [0])OR(R1 AND VB [1])
OR(R2 AND VB [2])OR(R3 AND VB [3])
换言之,当这些比较器320a~d的其中一个判定目前收到的顶点索引和这个比较器对应的项目的内容为相同时,则编码器330将命中值HIT设定成表示命中状态。
当命中值HIT不表示命中状态时,如图示,则将目前收到的顶点索引根据更新指标Update Pointer储存在储存区310四个项目312的其中之一,在这种情况下,计数器340用来递加更新指标Update Pointer。计数器340最好是以N为模数(modulo-N)的计数器,且N为储存区310项目312的总数。多工器350会根据命中值HIT选择性地输出参考位置POSITION,若命中值HIT表示命中状态,则多工器350选择输出地址HitPosition当作参考位置POSITION,若命中值不表示命中状态,则多工器350选择输出更新指标UpdatePointer当作参考位置POSITION。
图4是参考资讯产生器240主要执行步骤的流程图,如图所示,以N为模数的计数器340在系统重设(reset)或起动时先将更新指标UpdatePointen初始成0(步骤410)。当参考资讯产生器240接收到一个顶点索引时(步骤420),比较器320a~d就这个顶点索引和存放在储存区310的四个项目312中的光点索引做比较(步骤430),根据比较结果,编码器330设定命中值HIT以及地址HitPosition。然后,参考资讯产生器240会检查命中值HIT是否被设定表示命中状态(步骤440),若是,多工器350选择输出地址HitPosition当作参考位置POSITION(步骤442);若不是,多工器350选择输出更新指标UpdatePointer当作参考位置POSITION(步骤441),计数器340接着将更新指标UpdatePointer递增加1(步骤443)。最后,参考资讯产生器240把包括命中值HIT和参考位置POSITION的参考资讯储存至参考资讯队列250(步骤450)。
参考图5的流程图以进一步说明资料管理器260所执行的主要步骤,首先,资料管理器200捡查参考资讯队列250是否为空的(步骤510),若参考资讯队列250已存有参考资讯,资料管理器260从参考资讯队列250取出包括命中值HIT和参考位置POSITION的参考资讯(步骤520)。然后,资料管理器260检查命中值HIT是否设为表示命中状态(步骤530),若是,则根据参考位置POSITION从资料缓冲器270中取回光点资料(步骤540);若命中值HIT不表示命中状态,资料管理器260会察看新的光点资料是否已经备妥(步骤531),当新光点资料已准备好的时候,资料管理器200根据参考位置POSITION以新光点资料更新资料缓冲器270(步骤533),接着,资料管理器260控制资料缓冲器270根据参考位置POSITION输出新光点资料(步骤540)。
本发明的特征及优点可借助图6A-6C的范例说明,如图6A所示,以包含5个顶点(Va、Vb、Vc、Vd、Ve)的三个图元为例,假设参考资讯产生器240收到顶点索引的顺序为Va、Vb、Vc、Vc、Vb、Vd、Vb、Vc、Vd,当参考资讯产生器240接收第一个顶点索引Va时,储存区310尚未存放光点索引,因此,参考资讯产生器240报告的命中值HIT并未设定表示命中状态且提供UpdatePointer=O当作参考位置POSITION输出,同样地,在储存区310中无法发现第二、三个顶点索引Vb、Vc。当参考资讯产生器240收到第四个顶点索引Vc时,发现和储存区310中第2项目的内容相符,结果参考资讯产生器240报告的命中值HIT设定表示命中状态且提供HitPosition=2当作参考位置POSITION输出。如上述讨论,图6B显示参考资讯产生器240的运作过程,而图6C则说明参考资讯产生器240内储存区310的内容。根据本发明,图6A-图6C的范例仅需对5个顶点资料进行转换和打光处理,相反地,直接处理每个顶点资料的传统几何加速器则需要9笔顶点资料运算。
电脑绘图里表现物体的大多数图元为互相紧邻的图元,这些相邻的图元共有相同的顶点,对于传统的电脑绘图系统而言,相同的顶点资料是会被重复的处理,然而,几何加速器的运算却是极为繁重,一再地重复处理相同的顶点将会大幅降低几何加速器的速度和效率。反之,本发明并不重复处理相同的顶点,取而代之的是从记忆缓冲区里取回光点资料,而且利用它来进行更进一步地处理,这将明显地降低几何加速器运算的负担以及减少主电脑和电脑绘图系统之间资料转移的数量,因此,本发明能够节省大量的运算时间而大幅地增进效能。除此之外,本发明的绘图管理模组仅使用了极少的电路便能实施,如此能够用来实现平价的电脑绘图系统,并且可以在集成电路晶片中保留空间以在未来增加新的绘图处理功能。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明之精神和范围内,当可做些许更动与润饰,因此本发明之保护范围当视权利要求书范围所界定者为准。
Claims (3)
1.一种重复使用光点资料的电脑绘图装置,适用于电脑绘图系统,其特征是:至少包含:
一储存区,具有复数个项目,每一项目用来储存一光点索引;
复数个比较器,每一比较器就该些项目中与其对应的项目的内容和一目前收到的光点索引做比较,以判定该目前收到的光点索引和该比较器对应的该项目的内容是否相同;
一编码器,根据该些比较器的输出以报告一命中值并且产生一地址,其中,当该些比较器其中的一比较器判定该目前收到的光点索引和该比较器对应的该项目的内容为相同,则该命中值表示一命中状态,且该地址指向该对应的项目其存放着与该目前收到的光点索引相同的该光点索引;
一计数器,当该命中值不是表示该命中状态时,用来递加一更新指标;以及
一多工器,根据该命中值选择性地输出一参考位置,若该命中值表示该命中状态,则选择输出该地址当作该参考位置,若该命中值不是表示该命中状态,则选择输出该更新指标当作该参考位置;
其中,上述储存区在上述编码器报告的上述命中值不是表示上述命中状态时,根据上述更新指标将上述目前收到的光点索引储存在上述复数个项目中之一。
2.如权利要求1所述的装置,其特征是:具有上述复数个项目的上述储存区配置成一循环式记忆缓冲器。
3.如权利要求1所述的装置,其特征是:上述计数器是一以N为模数的计数器,且N为上述储存区的上述复数个项目的总数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02140740 CN1260686C (zh) | 2002-07-16 | 2002-07-16 | 重复使用光点资料的电脑绘图装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02140740 CN1260686C (zh) | 2002-07-16 | 2002-07-16 | 重复使用光点资料的电脑绘图装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1469319A CN1469319A (zh) | 2004-01-21 |
CN1260686C true CN1260686C (zh) | 2006-06-21 |
Family
ID=34147641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02140740 Expired - Fee Related CN1260686C (zh) | 2002-07-16 | 2002-07-16 | 重复使用光点资料的电脑绘图装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1260686C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105427368B (zh) * | 2015-11-17 | 2018-03-20 | 上海兆芯集成电路有限公司 | 数据单元的关联性检查方法以及使用该方法的装置 |
CN105243685B (zh) * | 2015-11-17 | 2018-01-02 | 上海兆芯集成电路有限公司 | 数据单元的关联性检查方法以及使用该方法的装置 |
-
2002
- 2002-07-16 CN CN 02140740 patent/CN1260686C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1469319A (zh) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100342403C (zh) | 使用图案阴影来产生阴影效果的方法与装置 | |
US7920141B2 (en) | Method and apparatus for rasterizer interpolation | |
US20080170066A1 (en) | Graphic rendering method and system comprising a graphic module | |
US7324115B2 (en) | Display list compression for a tiled 3-D rendering system | |
US6819321B1 (en) | Method and apparatus for processing 2D operations in a tiled graphics architecture | |
US7315301B1 (en) | Computer graphics processing system, computer memory, and method of use with computer graphics processing system utilizing hierarchical image depth buffer | |
US7126600B1 (en) | Method and apparatus for high speed block mode triangle rendering | |
US20080170082A1 (en) | Graphics engine and method of distributing pixel data | |
US20080273030A1 (en) | Drawing apparatus and drawing method | |
US5325485A (en) | Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order | |
CN1581234A (zh) | 使用多遍形成方式的图形基元成形装置及方法 | |
US9424617B2 (en) | Graphics command generation device and graphics command generation method | |
WO2000011603A9 (en) | Graphics processor with pipeline state storage and retrieval | |
CN100504923C (zh) | 用于纹理视讯处理的纹理引擎、图形处理器及方法 | |
EP3580726B1 (en) | Buffer index format and compression | |
KR20120034293A (ko) | 정점 처리 방법 및 장치 | |
US7277098B2 (en) | Apparatus and method of an improved stencil shadow volume operation | |
US20160371873A1 (en) | Hybrid render with preferred primitive batch binning and sorting | |
WO2001037220A1 (en) | Rendering image data | |
US20080273031A1 (en) | Page based rendering in 3D graphics system | |
GB2343601A (en) | Shading and texturing 3-dimensional computer generated images | |
US6950108B2 (en) | Bandwidth reduction for rendering using vertex data | |
US8570321B2 (en) | Rasterization engine and three-dimensional graphics system for rasterizing in order adapted to characteristics of polygon | |
US20060187229A1 (en) | Page based rendering in 3D graphics system | |
EP1269418A1 (en) | Tiled graphics architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060621 Termination date: 20140716 |
|
EXPY | Termination of patent right or utility model |