CN1369863A - 通过预先排序以增进三维空间电脑绘图效果的方法 - Google Patents
通过预先排序以增进三维空间电脑绘图效果的方法 Download PDFInfo
- Publication number
- CN1369863A CN1369863A CN01103818A CN01103818A CN1369863A CN 1369863 A CN1369863 A CN 1369863A CN 01103818 A CN01103818 A CN 01103818A CN 01103818 A CN01103818 A CN 01103818A CN 1369863 A CN1369863 A CN 1369863A
- Authority
- CN
- China
- Prior art keywords
- display
- answer
- pel
- depth value
- demonstration
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种通过预先排序以增进三维空间电脑绘图效果的方法,该排序动作可将深度值较小的显示列表或显示图元置于一再排序区域的前端,而将深度值较大的显示列表或显示图元置于该再排序区域的后端。当排序完成后,本方法进入一Z缓冲预先测试程序。因为该显示列表或显示图元已预先依深度值由小至大而完成排序,因此在执行该Z缓冲预先测试程序时将大幅降低无效像素存取存储器的动作,从而节省系统资源及加快图像显示的执行效率。
Description
本发明是关于一种增进三维空间电脑绘图效果的方法,特别是关于一种依据景深值的大小预先排序显示列表或显示图元,再经由一Z缓冲(Z-buffer)预先测试程序以消除无效像素的方法。
如图1所示,一熟知的三维空间电脑绘图显示系统包含一主控端接口11、一显示存储器12、一存储器控制器13、一3D绘图控制器14、一屏幕控制器15及一屏幕16。该主控端接口11,例如一熟知的AGP总线,用于接受一中央处理器(图未示出)所发出的控制信号及作为该中央处理器与该3D绘图控制器14的图像数据双向传输的接口。该3D绘图控制器14为整个绘图显示系统的中心所在,负责产生该电脑绘图显示系统所需的三维空间图像。该3D绘图控制器14利用一存储器控制器13控制该显示存储器12的读写,并利用一屏幕控制器15控制该屏幕16的显示。该显示存储器12用于储存显示于该屏幕16的图像数据。
由于三维空间电脑绘图在屏幕上的图像数据均由数个对象组合而成,而有时候该数个对象会形成重叠的情形。在透明度着色处理,即α混合着色处理时,所有重叠在同一座标的对象均被显示。在非透明度着色处理时,仅有重叠于最上方的对象,即最靠近人眼的对象将被显示出来,其他重叠于下方的对象将不被显示。图2是一熟知的三维空间电脑绘图的Z缓冲预先测试程序的流程图。该Z缓冲预先测试程序是用以消除该电脑绘图系统的无效像素,且利用该3D绘图控制器14内的一Z缓冲储存所有已输入像素的景深值中的最小者Zb。景深值越小,代表该对象越接近人眼,亦即为重叠对象的较上方者。该流程于步骤21中启动,即进入一着色处理。在步骤22中,该流程读取输入像素的景深值Zi及Z缓冲的景深值Zb。在步骤23中,检查Zb和Zi的大小而决定是否要显示或舍弃该输入像素。若Zb<Zi,即代表该输入像素位于对象重叠的下方,则进入步骤24。在步骤24,该输入像素被舍弃,且重覆步骤22。若在步骤23中Zb>Zi,代表该输入像素位于重叠的上方,则进入步骤25。在步骤25中,该流程更新Z缓冲的深度值为该输入像素的深度值,并进行其他有效性测试,例如一剪力测试及模版测试等。若该像素通过这些有效性测试,则予以显示,并于步骤26结束。
但上述过程即使在步骤23中发现一无效像素,而在步骤25更新Z缓冲的深度值。该电脑绘图显示系统仍然已花费了一次以上的存储器存取动作,无形中已消耗了不少系统的资源及执行效率。
本发明的目的在于解决先前技术因存取无效像素而浪费系统资源的缺点。为了达到上述目的,本发明提出一种通过预先排序以增进三维空间电脑绘图效果的方法,该方法将一显示帧内的数个显示列表依据是否执行一透明着色处理而区分为静态区域及再排序区域。在再排序区域内的显示列表依据一代表该显示列表内的所有显示图元的深度值的一指标进行排序的动作。该排序动作可将指标值较小的显示图元置于该再排序区域的前端,而将指标值较大的显示图元置于该再排序区域的后端。在静态区域内的显示列表则不进行排序的动作。当排序完成后,本流程将进入一Z缓冲预先测试程序。因为该显示列表已预先依代表该深度值的指标由小至大而完成排序,因此在执行该Z缓冲预先测试程序时,将大幅降低无效像素存取存储器的动作,而得以节省系统资源及加快图像显示的执行效率。
本发明主要包含步骤(a)~(f)。在步骤(a)中,读取一显示列表内的所有显示图元的深度值,并以一指标代表所读取的深度值。在步骤(b)中,检查该显示列表是否为该显示帧的最后一项或该显示列表之后为一静态区域。在步骤(c)中,若步骤(b)的答案是否定的,则将该指标储存于该再排序区域,且进入步骤(a)。在步骤(d)中,若步骤(b)的答案是肯定的,则依据该指标排序该数个显示列表,且储存该排序后的显示列表。在步骤(e)中,检查该显示列表是否为该显示帧的最后一项,在步骤(f)中,若步骤(e)的答案是否定的,则进入步骤(a);若步骤(e)的答案是肯定的,则结束本方法。
本发明的另一方法是将该显示帧的图像数据直接以数个显示图元组合而成。因为该显示列表内的所有显示图元的深度值可能不相等,因此该指标只能近似该显示列表内所有显示图元的深度值,却仍然存有误差。若直接以该数个显示图元组合成该显示帧,则无须再计算一指标作为参数,因而可以避免误差的产生。但直接使用该数个显示图元组合成该显示帧的图像数据的缺点为硬件花费较大,相对地成本亦较高。
本发明若以数个显示图元组合该显示帧的图像数据,则主要包含步骤(a)~(f)。在步骤(a)中,读取一显示图元的深度值。在步骤(b)中,检查该显示图元是否为该显示帧的最后一项或该显示图元之后为一静态区域。在步骤(c)中,若步骤(b)的答案是否定的,则将该深度值储存于该再排序区域,且进入步骤(a),在步骤(d)中,若步骤(b)的答案是肯定的,则依据该深度值排序该数个显示图元,且储存该排序后的显示图元。在步骤(e)中,检查该显示图元是否为该显示帧的最后一项。在步骤(f)中,若步骤(e)的答案是否定的,则进入步骤(a);若步骤(e)的答案是肯定的,则结束本方法。
本发明的方法可用软件或硬件来实现,在此并未作任何限制,因本发明的结构简单且运算少,因此无论用什么方式予以实现,同样具有前述相同的优点。
本发明将依照附图来说明,其中:
图1是一熟知的三维空间电脑绘图显示系统的结构图;
图2是一熟知的Z缓冲预先测试程序的流程图;
图3是一个三维空间电脑绘图的数个对象重叠的示意图;
图4是根据本发明的显示列表组合成一显示帧的示意图;
图5是根据本发明的第一实施例的流程图;及
图6是根据本发明的第二实施例的流程图。
图3是一个三维空间电脑绘图的数个对象重叠的示意图。就一观察点31所注意到的一视线35而言,将同时观察到三个对象32、33及34,且这三个对象将以重叠的方式显现。若将深度值以0至1的区间表示,则对象32因最靠近观察点31而具有最小的景深值,而对象33因最远离观察点31而具有最大的景深值。在透明度着色处理时,这三个对象均被显示。在非透明度着色处理时,仅有重叠于最上方的对象32被显示出来,而其他重叠于下方的对象33及34将不被显示。因为对象33及34不被显示,因此被称为隐藏面,且该隐藏面所包含的像素被称为无效像素。如前所述,要提高三维空间电脑绘图效果的方法,即事先清除隐藏面或该隐藏面所包含的无效像素,而不使其进入着色处理,由此节省许多不必要的存储器存取动作,在目前的三维空间电脑绘图中,每一个对象均由至少一个显示列表所组成,各该显示列表均具有不同的特征,例如不同的纹理等。该数个显示列表又可由数个显示图元,例如多边形所组成。此外,该显示图元是由数个输入像素所组成。因此我们可以将整个显示帧的图像数据以数个显示列表的组合而表示。
图4是将一显示帧40的图像数据以数个显示列表43组合的示意图,其中该数个显示列表被区分为数个再排序区域41及静态区域42。该静态区域42执行前述的透明度着色处理,该再排序区域41为执行非透明度着色处理。图1所示的3D绘图控制器14会接受来自该主控端接口11所传来的数据,以分辨是否执行透明度着色处理。
图5是根据本发明的第一实施例的流程图。在步骤51,本发明启动,即进入着色处理。在步骤52,读取一显示列表内的所有显示图元的深度值。我们可以计算所读取的深度值以产生一指标,该指标例如为所有已读取的深度值的平均值、最大值或最小值。在步骤53,检查该显示列表是否为该显示帧的最后一项或该显示列表之后为一静态区域。若答案是否定的,则进入步骤54。在步骤54,该显示列表的指标将被储存于该再排序区域54。并进入步骤52重覆先前的动作。若步骤53的答案是肯定的,则进入步骤55。在步骤55中,该数个显示列表依据该指标进行排序,且将指标值较小的显示列表排序在该再排序区域的前端,指标值较大的显示列表排列在该再排序区域的后端。在步骤56中,储存该数个排序后的显示列表。在步骤57中,检查该显示列表是否为该显示帧的最后一项,若答案是否定的,则进入步骤52,并重覆先前的动作。若答案是肯定的,则结束本流程,并进入该Z缓冲预先测试程序。
本发明是对再排序区域的显示列表依据一代表该显示列表内所有显示图元的深度值的一指标而进行排序,而对于静态区域内的显示列表则不作任何动作。该排序方式是将指标值较小,即较接近观察点31的显示列表放置于再排序区域41的前端;而将指标值较大,即较远离观察点31的显示列表放置于再排序区域41的后端。在结束本发明流程而进入该Z缓冲预先测试程序时,该Z缓冲预先测试程序将由再排序区域的前端依序读取像素的深度值。由于已事先经过排序,因此将大幅降低图2的步骤25的更新Z缓冲的深度值的几率,也就是说可节省许多无效像素对于存储器的存取动作。
图5的流程中是以一指标代表一显示列表内所有显示图元的深度值,因为该显示列表内的所有显示图元的深度值可能不相等,因此该指标只能近似该显示列表内所有显示图元的深度值,却仍然存有误差。该误差所造成的效果就是在Z缓冲预先测试程序时会增加无效像素对于存储器的存取动作的几率,而降低系统的效率。因此本发明的另一实施例是将该显示帧40的图像数据直接以数个显示图元组合而成。因为各该数个显示图元均有其深度值,因此无须再计算一指标作为参数,而可避免误差的产生,但直接使用数个显示图元组合该显示帧40的图像数据的缺点为硬件花费较大,相对地成本亦较高。
图6是根据本发明的第二实施例的流程图,该流程是直接使用数个显示图元组合该显示帧40的图像数据。在步骤61,本发明启动,即进入着色处理。在步骤62,读取显示图元的深度值。在步骤63,检查该显示图元是否为该显示帧的最后一项或该显示图元之后为一静态区域,若答案是否定的,则进入步骤64。在步骤64,该显示图元的深度值将被储存于该再排序区域61,并进入步骤62重覆先前的动作。若步骤63的答案是肯定的,则进入步骤65。在步骤65中,该数个显示图元依据该深度值进行排序,且将深度值较小的显示图元排列在该再排序区域的前端。在步骤66中,储存该数个排序后的显示图元。在步骤67中,检查该显示图元是否为该显示帧的最后一项。若答案是否定的,则进入步骤62,并重复先前的动作。若答案是肯定的,则结束本流程,并进入该Z缓冲预先测试程序。
本发明可使用硬件或软件的方式实现,在此并未作任何限制。当使用软件的方式实现,例如于一驱动程序中实现时,本发明的方法可于一中央处理器内计算,并将排序后的显示列表或显示图元经由图1的主控端接口11而传入该3D绘图控制器14及显示存储器12。当使用硬件的方式实现时,可将本发明的方法内嵌于该3D绘图控制器14内,且该3D绘图控制器14可将排序后的结果储存于该显示存储器12之内。
本发明的技术内容及技术特点已公开如上,然而熟悉本项技术的人士仍可能基于本发明的内容及公开而作种种不背离本发明精神的替换及修饰;因此,本发明的保护范围应不限于实施例所公开的,而应包括各种不背离本发明的替换及修饰,并为以下的权利要求范围所涵盖。
Claims (5)
1、一种通过预先排序以增进三维空间电脑绘图效果的方法,该方法将一显示帧内的数个显示列表依据是否执行一透明度着色处理而区分为静态区域及再排序区域,该方法包括下列步骤:
(a)读取一显示列表内的所有显示图元的深度值,并以一指标代表所读取的深度值;
(b)检查该显示列表是否为该显示帧的最后一项或该显示列表之后为一静态区域;
(c)若步骤(b)的答案是否定的,则将该指标储存于该再排序区域,且进入步骤(a);
(d)若步骤(b)的答案是肯定的,则依据该指标排序该数个显示列表,且储存该排序后的显示列表;
(e)检查该显示列表是否为该显示帧的最后一项;及
(f)若步骤(e)的答案是否定的,则进入步骤(a);若步骤(e)的答案是肯定的,则结束本方法。
2、根据权利要求1所述的方法,其中在步骤(f)之后执行一Z缓冲预先测试程序。
3、根据权利要求1所述的方法,其中该指标为该显示列表内的所有显示图元的深度值的平均值、最大值或最小值。
4、一种通过预先排序以增进三维空间电脑绘图效果的方法,该方法将一显示帧内的数个显示图元依据是否执行一透明度着色处理而区分为一静态区域及一再排序区域,该方法包括下列步骤:
(a)读取一显示图元的深度值;
(b)检查该显示图元是否为该显示帧的最后一项或该显示图元之后为一静态区域;
(c)若步骤(b)的答案是否定的,则将该深度值储存于该再排序区域,且进入步骤(a);
(d)若步骤(b)的答案是肯定的,则依据该深度值排序该数个显示图元,且储存该排序后的显示图元;
(e)检查该显示图元是否为该显示帧的最后一项;及
(f)若步骤(e)的答案是否定的,则进入步骤(a);若步骤(e)的答案是肯定的,则结束本方法。
5、根据权利要求4所述的方法,其中在步骤(f)之后执行一Z缓冲预先测试程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN01103818A CN1369863A (zh) | 2001-02-15 | 2001-02-15 | 通过预先排序以增进三维空间电脑绘图效果的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN01103818A CN1369863A (zh) | 2001-02-15 | 2001-02-15 | 通过预先排序以增进三维空间电脑绘图效果的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1369863A true CN1369863A (zh) | 2002-09-18 |
Family
ID=4653495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01103818A Pending CN1369863A (zh) | 2001-02-15 | 2001-02-15 | 通过预先排序以增进三维空间电脑绘图效果的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1369863A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100342402C (zh) * | 2003-09-25 | 2007-10-10 | 科乐美股份有限公司 | 游戏软件和游戏装置 |
CN101308441B (zh) * | 2004-10-12 | 2010-09-22 | 日本电信电话株式会社 | 三维显示控制方法和三维显示控制装置 |
CN101533529B (zh) * | 2009-01-23 | 2011-11-30 | 北京建筑工程学院 | 基于深度图像的三维空间数据处理方法与装置 |
CN102929621A (zh) * | 2011-11-30 | 2013-02-13 | 威盛电子股份有限公司 | 重迭物件的绘制方法及装置 |
-
2001
- 2001-02-15 CN CN01103818A patent/CN1369863A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100342402C (zh) * | 2003-09-25 | 2007-10-10 | 科乐美股份有限公司 | 游戏软件和游戏装置 |
CN101308441B (zh) * | 2004-10-12 | 2010-09-22 | 日本电信电话株式会社 | 三维显示控制方法和三维显示控制装置 |
CN101533529B (zh) * | 2009-01-23 | 2011-11-30 | 北京建筑工程学院 | 基于深度图像的三维空间数据处理方法与装置 |
CN102929621A (zh) * | 2011-11-30 | 2013-02-13 | 威盛电子股份有限公司 | 重迭物件的绘制方法及装置 |
CN102929621B (zh) * | 2011-11-30 | 2015-11-18 | 威盛电子股份有限公司 | 重迭物件的绘制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1287330C (zh) | 用于区带渲染的有效图形状态管理 | |
CN101236661B (zh) | 在计算机中管理纹理数据的系统与方法 | |
US5598517A (en) | Computer graphics pixel rendering system with multi-level scanning | |
US5990912A (en) | Virtual address access to tiled surfaces | |
US7796129B2 (en) | Multi-GPU graphics processing subsystem for installation in a PC-based computing system having a central processing unit (CPU) and a PC bus | |
US8456468B2 (en) | Graphic rendering method and system comprising a graphic module | |
US6424345B1 (en) | Binsorter triangle insertion optimization | |
US6750867B1 (en) | Image processing apparatus | |
US20020085010A1 (en) | Method and apparatus for tiled polygon traversal | |
US20110148892A1 (en) | Forming a windowing display in a frame buffer | |
EP3289560B1 (en) | Adaptive memory address scanning based on surface format for graphics processing | |
JP2003228733A (ja) | 画像処理装置及びその構成部品、レンダリング処理方法 | |
CN106599025B (zh) | 一种基于数据交换格式的矢量数据切片方法及系统 | |
CN105335923A (zh) | 图形处理系统和相关图形处理方法 | |
CN110390382B (zh) | 一种带新型特征图缓存模块的卷积神经网络硬件加速器 | |
US6906715B1 (en) | Shading and texturing 3-dimensional computer generated images | |
CN111145286A (zh) | 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法 | |
JP2882465B2 (ja) | 画像生成方法およびその装置 | |
US8553041B1 (en) | System and method for structuring an A-buffer to support multi-sample anti-aliasing | |
KR20010012841A (ko) | 화상 처리 장치 및 화상 처리 방법 | |
CN1369863A (zh) | 通过预先排序以增进三维空间电脑绘图效果的方法 | |
US6982719B2 (en) | Switching sample buffer context in response to sample requests for real-time sample filtering and video generation | |
JPH1074263A (ja) | コンピュータ・グラフィックス・システム | |
US6236408B1 (en) | Computer graphics pixel rendering system with multi-level scanning | |
US6788307B2 (en) | System and method for improved pixel rendering performance |
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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |