CN102063733B - 一种深度相同的z消隐方法和装置 - Google Patents
一种深度相同的z消隐方法和装置 Download PDFInfo
- Publication number
- CN102063733B CN102063733B CN200910237759.0A CN200910237759A CN102063733B CN 102063733 B CN102063733 B CN 102063733B CN 200910237759 A CN200910237759 A CN 200910237759A CN 102063733 B CN102063733 B CN 102063733B
- Authority
- CN
- China
- Prior art keywords
- pel
- depth
- degree
- time created
- rendering result
- 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
Landscapes
- Image Generation (AREA)
Abstract
本发明提供了一种深度相同的Z消隐方法和装置,以解决现有技术经常出现互换位置的问题。本发明提出的z消隐方法按照图元的建立时间,将相同像素位置上建立时间较早的像素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素进行渲染。这样,即使在深度不变的情况下对图元进行操作,如旋转,最终渲染绘制的结果也不会改变图元的原始叠加次序,从而避免了现有技术出现图元位置互换的现象。
Description
技术领域
本发明涉及计算机图形学技术领域,特别是涉及一种深度相同的Z消隐方法和装置。
背景技术
三维图形的表示如图1所示,在空间任取一点O,过O作互相垂直的三直线x、y、z,称O为原点,则构成空间坐标系。右边是x轴正方向,上面是y轴正方向,垂直于屏幕指向屏幕外的方向为z轴正方向。
在计算机图形学中,深度缓冲是在三维图形中处理图像深度坐标的过程,这个过程通常在硬件中完成,但也可以在软件中完成。深度缓冲是可见性问题的一个解决方法,而可见性问题是确定渲染场景中哪部分可见、哪部分不可见的问题。
当三维图形卡渲染物体的时候,每一个所生成的像素的深度(即z坐标,也称z值)就保存在一个缓冲区中。这个缓冲区叫做z缓冲区或者深度缓冲区,这个缓冲区通常组织成一个保存每个屏幕像素深度的x-y二维数组。如果场景中的另外一个物体也在同一个像素生成渲染结果,那么图形处理卡就会比较二者的深度,并且保留距离观察者较近的物体。然后这个所保留的物体点深度保存到深度缓冲区中。最后,图形卡就可以根据深度缓冲区正确地生成通常的深度感知效果:较近的物体遮挡较远的物体。这个过程叫做z消隐。
在渲染过程中,z消隐是根据深度信息对像素的早期剔除。当渲染隐藏表面所需要的计算量很大的时候,这种方法可以提升处理性能。z消隐是深度缓冲的一个直接结果,在这种方法中每个待定像素的深度都要与相同位置的现存像素的深度进行比较。如果待定像素的深度(即z值)小于现存像素的深度,即现存像素距离观察者较近,则最终保留现存像素的深度值;相反,如果待定像素的深度大于现存像素的深度,即待定像素距离观察者较近,则最终用待定像素的深度替换现存像素的深度值,保存待定像素的深度值。由此可见,z消隐是按照空间顺序对同一像素位置的像素进行剔除,最后将深度缓冲区中保留的物体点渲染结果显示出来。
在所述z消隐过程中,还有一种特殊情况,即待定像素的深度和现存像素的深度相同。此时,处理方法是按照渲染的先后顺序,保留后渲染的物体点深度,因此最终显示出来的是后渲染的物体。
参照图2.1,是图像叠加显示的效果图。在显示区域中,包括两个图,一个是表示国旗的图片(简称国旗图),另一个是表示FIFA字样的图片(简称FIFA图),二者部分重叠。在重叠的像素位置,二者的深度相同(即z值相同),而且FIFA图先进行渲染,国旗图后进行渲染。按照上述z消隐过程,最终的显示效果是保留后渲染的国旗图,需要将FIFA图中与国旗图重叠的部分裁剪掉,显示效果如图2.1所示。
上述z消隐方法存在一个问题:
如果不改变FIFA图的z值,只对FIFA图进行旋转等操作,由于FIFA图重新进行了渲染,按照上述方法,这时旋转后的FIFA图会遮挡国旗图,显示效果如图2.2所示。这种互换位置的现象经常出现,如果对这两个图进行多次操作,就会出现多种叠加显示效果,从而改变了原始的叠加次序。
发明内容
本发明所要解决的技术问题是提供一种深度相同的Z消隐方法和装置,以解决现有技术经常出现互换位置的问题。
为了解决上述问题,本发明公开了一种深度相同的Z消隐方法,包括:
保持深度不变对图元进行操作;
如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二者的建立时间;
保留建立时间较晚的图元的渲染结果。
其中,所述操作包括对图元进行旋转。
所述方法还包括:
显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为FALSE;渲染图元时判断所述两个属性为FALSE,则关闭z缓冲,使深度值对渲染无效。
本发明还提供了一种深度相同的Z消隐装置,包括:
操作单元,用于保持深度不变对图元进行操作;
比较单元,用于当该图元与另一图元在相同像素位置生成渲染结果,并且深度相同时,比较二者的建立时间;
保存单元,用于保留建立时间较晚的图元的渲染结果。
其中,所述操作单元进行的操作包括对图元进行旋转。
所述装置还包括:
显示单元,用于显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为FALSE;渲染图元时判断所述两个属性为FALSE,则关闭z缓冲,使深度值对渲染无效。
与现有技术相比,本发明具有以下优点:
本发明提出的z消隐按照图元的建立时间,将相同像素位置上建立时间较早的像素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素进行渲染。
这样,即使在深度不变的情况下对图元进行操作,如旋转,最终渲染绘制的结果也不会改变图元的原始叠加次序,从而避免了现有技术出现图元位置互换的现象。
附图说明
图1是现有技术中三维图形的坐标系示意图;
图2.1是现有技术中图像叠加显示的效果图;
图2.2是现有技术中图像被旋转后的效果图;
图3是本发明实施例一所述一种z消隐方法流程图;
图4是本发明实施例二所述一种z消隐方法流程图;
图5是本发明实施例二中FIFA图旋转后的显示效果图;
图6是本发明实施例三所述一种z消隐装置结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提出了一种改进的z消隐方法,该方法按照图元的建立时间,将相同像素位置上建立时间较早的像素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素进行渲染。
所述图元是一套软件或者系统能操控的基本单位,一根线、一个矩形、一幅截图等都是图元,图元的组合体也是图元,分别为简单图元和复杂图元。本发明所指图元包括所述的简单图元和复杂图元。
下面通过实施例进行详细说明。
实施例一:
参照图3,是本发明实施例一所述一种z消隐方法流程图。
步骤301,保持深度不变对图元进行操作;
所述深度即指像素保存在深度缓冲区的z坐标值,保持深度不变可进行的操作有多种,如旋转、翻转等操作。进行操作后的图元需要重新进行渲染绘制,然后显示出来。
步骤302,如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二者的建立时间;
如果旋转后的图元与另一图元存在重叠部分,则在渲染过程中,需要利用z消隐技术确定在重叠的部分最终显示哪个图元的像素。
本发明提供的z消隐技术是根据图元的建立时间对相同位置的像素进行剔除,不同于现有技术根据深度信息对像素剔除。
本发明主要针对相同像素位置相同z值的情况。
步骤303,保留建立时间较晚的图元的渲染结果。
通常,建立时间较早的图元先进行渲染,因此,建立时间较晚的图元最终显示时会遮挡(一般是部分覆盖)建立时间较早的图元。这样,本发明通过比较二者的建立时间,就将重叠位置上建立时间较晚的图元的渲染结果进行保留。
由上可见,本发明在图元的渲染过程中,并不考虑图元的像素深度信息,而是按照图元的建立时间进行渲染绘制,这样,在深度不变的情况下即使对图元进行操作后重新渲染,也不会改变图元的原始叠加次序。
实施例二:
本实施例通过一具体例子进行说明。
仍以图2.1为例,显示区域显示国旗图和FIFA图,二者部分重叠,重叠部分的像素深度相同,并且FIFA图的建立时间早于国旗图。
本实施例将通过这两个图的建立、显示和旋转操作后的显示过程,完整说明本发明内容。
参照图4是本发明实施例二所述一种z消隐方法流程图。
步骤401,建立国旗图和FIFA图时,新建Z_Order属性和专家模式属性;
每个图元会有很多属性,其中有两个属性是Z_Order属性(深度排序属性)和专家模式属性,用于实现图元按时间顺序绘制的效果。其中,Z_Order属性定义了相同像素位置的深度排序,专家模式属性定义了渲染模式、绘制模式、绘制线宽、光照属性、DepthTest属性、RGB以及Alpha属性、Backfaceculling属性、ZBuffer属性等。
分别对国旗图和FIFA图建立所述两个属性。
步骤402,对Z_Order和专家模式属性进行初始化;
步骤403,关闭Z_Order属性中的Z_Order选项,即置为FALSE;同时关闭专家模式属性中的DepthTest选项(即z轴属性),即置为FALSE;
步骤404,对国旗图和FIFA图进行渲染时,把新建的两属性分别添加到对应图元上;
渲染和绘制的过程中会判断图元上的Z_Order选项和DepthTest选项,如果都为FALSE,则渲染时关闭深度缓冲,使深度值对渲染无效。因此,即使二者的深度值相同,也与渲染过程无关。
其中,本实施例提供了两种添加方式:一种是直接添加到相应图元上,这时控制被添加图元的z轴属性;另一种是直接添加到一个场景上,一个场景通常包括多个图元,因此该场景中所有图元的z轴属性都被控制。
步骤405,针对相同像素位置(即重叠部分),比较二者的建立时间;
对于不同像素位置(即不重叠的部分),则分别进行渲染绘制。
步骤406,比较结果是FIFA图的建立时间早于国旗图,则保留国旗图在相同像素位置的渲染结果,并显示;
步骤407,对FIFA图进行旋转操作;
步骤408,对旋转后的FIFA图重新进行渲染,与国旗图重叠的像素位置,仍旧保留建立时间较晚的国旗图的渲染结果;
步骤409,显示旋转后的FIFA图。
最终显示效果如图5所示,FIFA图仍旧按照原始的叠加次序,被国旗图遮挡。
实施例三:
针对上述方法实施例的说明,本发明还提供了相应的装置实施例。
参照图6,是本发明实施例三所述一种z消隐装置结构图。
所述装置可以包括:
操作单元61,用于保持深度不变对图元进行操作;其中,所述操作单元61进行的操作包括对图元进行旋转;
比较单元62,用于当该图元与另一图元在相同像素位置生成渲染结果,并且深度相同时,比较二者的建立时间;
保存单元63,用于保留建立时间较晚的图元的渲染结果。
所述装置还可以包括:
显示单元64,用于显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为FALSE;则渲染图元时判断所述两个属性为FALSE,则关闭z缓冲,使深度值对渲染无效。
所述图元包括简单图元和复杂图元(即多个图元的组合)。
所述装置是按照图元的建立时间,对相同像素位置并且深度相同的像素进行剔除,因此无论如何旋转图元,都是按照构建的顺序排列图形。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种z消隐方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种深度相同的Z消隐方法,其特征在于,包括:
保持深度不变对图元进行操作;
如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二者的建立时间;
根据图元的建立时间对相同位置的像素进行剔除,保留建立时间较晚的图元的渲染结果;
其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为FALSE;
渲染图元时判断所述两个属性为FALSE,则关闭z缓冲,使深度值对渲染无效。
2.根据权利要求1所述的方法,其特征在于:所述操作包括对图元进行旋转。
3.根据权利要求2所述的方法,其特征在于,还包括:
显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
4.一种深度相同的Z消隐装置,其特征在于,包括:
操作单元,用于保持深度不变对图元进行操作;
比较单元,用于当该图元与另一图元在相同像素位置生成渲染结果,并且深度相同时,比较二者的建立时间;
保存单元,用于根据图元的建立时间对相同位置的像素进行剔除,保留建立时间较晚的图元的渲染结果;
其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为FALSE;
渲染图元时判断所述两个属性为FALSE,则关闭z缓冲,使深度值对渲染无效。
5.根据权利要求4所述的装置,其特征在于:所述操作单元进行的操作包括对图元进行旋转。
6.根据权利要求5所述的装置,其特征在于,还包括:
显示单元,用于显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910237759.0A CN102063733B (zh) | 2009-11-18 | 2009-11-18 | 一种深度相同的z消隐方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910237759.0A CN102063733B (zh) | 2009-11-18 | 2009-11-18 | 一种深度相同的z消隐方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063733A CN102063733A (zh) | 2011-05-18 |
CN102063733B true CN102063733B (zh) | 2015-06-17 |
Family
ID=43998997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910237759.0A Expired - Fee Related CN102063733B (zh) | 2009-11-18 | 2009-11-18 | 一种深度相同的z消隐方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063733B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462278B (zh) * | 2020-03-17 | 2022-10-25 | 稿定(厦门)科技有限公司 | 基于深度的素材排序渲染方法、介质、设备及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489753A (zh) * | 2000-12-18 | 2004-04-14 | 三维图像的光栅化 | |
CN101116112A (zh) * | 2005-01-04 | 2008-01-30 | 新世代株式会社 | 绘制装置及绘制方法 |
-
2009
- 2009-11-18 CN CN200910237759.0A patent/CN102063733B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489753A (zh) * | 2000-12-18 | 2004-04-14 | 三维图像的光栅化 | |
CN101116112A (zh) * | 2005-01-04 | 2008-01-30 | 新世代株式会社 | 绘制装置及绘制方法 |
Non-Patent Citations (2)
Title |
---|
《基于图像空间的刚体碰撞检测的OpenGL实现》;黄祥建等;《开发研究与设计技术》;20070416;第1卷(第2期);第439-441页 * |
朱印宏等.《11.2旋转与翻转》.《Photoshop CS2基础教程与上机指导》.清华大学出版社,2006,(第1版),第179-182页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102063733A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7538778B2 (en) | Method and system for dynamically allocating a frame buffer for efficient anti-aliasing | |
JP4481166B2 (ja) | ユーザによる合成画像およびビデオ画像のリアルタイムのミキシングを可能にする方法およびシステム | |
US7102653B2 (en) | Systems and methods for rendering graphical data | |
US7342588B2 (en) | Single logical screen system and method for rendering graphical data | |
US7068275B2 (en) | Methods and apparatus for rendering an image with depth-of-field display | |
US6882346B1 (en) | System and method for efficiently rendering graphical data | |
US6411294B1 (en) | Image display apparatus and image display method | |
US7656416B2 (en) | Apparatus for generating anti-aliased and stippled 3d lines, points and surfaces using multi-dimensional procedural texture coordinates | |
US20080074432A1 (en) | Method for acquiring a computer screen image | |
US10217259B2 (en) | Method of and apparatus for graphics processing | |
CN102063734B (zh) | 一种三维图像的呈现方法和装置 | |
US8698830B2 (en) | Image processing apparatus and method for texture-mapping an image onto a computer graphics image | |
WO2019163129A1 (ja) | 仮想物体表示制御装置、仮想物体表示システム、仮想物体表示制御方法、及び仮想物体表示制御プログラム | |
US7898549B1 (en) | Faster clears for three-dimensional modeling applications | |
US6680739B1 (en) | Systems and methods for compositing graphical data | |
KR100281949B1 (ko) | 영상 드로잉 장치 | |
CN110402462A (zh) | 无用户感知情况下的低延时断裂 | |
US6879329B2 (en) | Image processing apparatus having processing operation by coordinate calculation | |
CN102063733B (zh) | 一种深度相同的z消隐方法和装置 | |
CN112740278A (zh) | 混合邻近分格 | |
US20020051016A1 (en) | Graphics drawing device of processing drawing data including rotation target object and non-rotation target object | |
US6791553B1 (en) | System and method for efficiently rendering a jitter enhanced graphical image | |
JP3144637B2 (ja) | 3次元レンダリング方法 | |
JP2006293470A (ja) | 描画装置、方法および描画プログラム | |
CN102063732B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150617 Termination date: 20161118 |