一种深度相同的z消隐方法和装置的制作方法

文档序号:6584673阅读:126来源:国知局
专利名称:一种深度相同的z消隐方法和装置的制作方法
技术领域
本发明涉及计算机图形学技术领域,特别是涉及一种深度相同的Z消隐方法和装置。
背景技术
三维图形的表示如图1所示,在空间任取一点0,过0作互相垂直的三直线x、y、z, 称O为原点,则构成空间坐标系。右边是χ轴正方向,上面是1轴正方向,垂直于屏幕指向 屏幕外的方向为Z轴正方向。在计算机图形学中,深度缓冲是在三维图形中处理图像深度坐标的过程,这个过 程通常在硬件中完成,但也可以在软件中完成。深度缓冲是可见性问题的一个解决方法,而 可见性问题是确定渲染场景中哪部分可见、哪部分不可见的问题。当三维图形卡渲染物体的时候,每一个所生成的像素的深度(即ζ坐标,也称ζ 值)就保存在一个缓冲区中。这个缓冲区叫做ζ缓冲区或者深度缓冲区,这个缓冲区通常 组织成一个保存每个屏幕像素深度的χ-y二维数组。如果场景中的另外一个物体也在同一 个像素生成渲染结果,那么图形处理卡就会比较二者的深度,并且保留距离观察者较近的 物体。然后这个所保留的物体点深度保存到深度缓冲区中。最后,图形卡就可以根据深度 缓冲区正确地生成通常的深度感知效果较近的物体遮挡较远的物体。这个过程叫做ζ消 隐。在渲染过程中,ζ消隐是根据深度信息对像素的早期剔除。当渲染隐藏表面所需 要的计算量很大的时候,这种方法可以提升处理性能。ζ消隐是深度缓冲的一个直接结果, 在这种方法中每个待定像素的深度都要与相同位置的现存像素的深度进行比较。如果待定 像素的深度(即Z值)小于现存像素的深度,即现存像素距离观察者较近,则最终保留现存 像素的深度值;相反,如果待定像素的深度大于现存像素的深度,即待定像素距离观察者较 近,则最终用待定像素的深度替换现存像素的深度值,保存待定像素的深度值。由此可见,Z 消隐是按照空间顺序对同一像素位置的像素进行剔除,最后将深度缓冲区中保留的物体点 渲染结果显示出来。在所述ζ消隐过程中,还有一种特殊情况,即待定像素的深度和现存像素的深度 相同。此时,处理方法是按照渲染的先后顺序,保留后渲染的物体点深度,因此最终显示出 来的是后渲染的物体。参照图2. 1,是图像叠加显示的效果图。在显示区域中,包括两个图,一个是表示国 旗的图片(简称国旗图),另一个是表示FIFA字样的图片(简称FIFA图),二者部分重叠。 在重叠的像素位置,二者的深度相同(即ζ值相同),而且FIFA图先进行渲染,国旗图后进 行渲染。按照上述ζ消隐过程,最终的显示效果是保留后渲染的国旗图,需要将FIFA图中 与国旗图重叠的部分裁剪掉,显示效果如图2. 1所示。上述ζ消隐方法存在一个问题如果不改变FIFA图的ζ值,只对FIFA图进行旋转等操作,由于FIFA图重新进行了渲染,按照上述方法,这时旋转后的FIFA图会遮挡国旗图,显示效果如图2. 2所示。这种 互换位置的现象经常出现,如果对这两个图进行多次操作,就会出现多种叠加显示效果,从 而改变了原始的叠加次序。

发明内容
本发明所要解决的技术问题是提供一种深度相同的Z消隐方法和装置,以解决现 有技术经常出现互换位置的问题。为了解决上述问题,本发明公开了 一种深度相同的Z消隐方法,包括保持深度不变对图元进行操作;如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二 者的建立时间;保留建立时间较晚的图元的渲染结果。其中,所述操作包括对图元进行旋转。所述方法还包括显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图 元时被置为FALSE ;渲染图元时判断所述两个属性为FALSE,则关闭ζ缓冲,使深度值对渲染 无效。本发明还提供了一种深度相同的Z消隐装置,包括操作单元,用于保持深度不变对图元进行操作;比较单元,用于当该图元与另一图元在相同像素位置生成渲染结果,并且深度相 同时,比较二者的建立时间;保存单元,用于保留建立时间较晚的图元的渲染结果。其中,所述操作单元进行的操作包括对图元进行旋转。所述装置还包括显示单元,用于显示旋转后的图元,并在所述相同像素位置显示所保留的图元的 渲染结果。其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图 元时被置为FALSE ;渲染图元时判断所述两个属性为FALSE,则关闭ζ缓冲,使深度值对渲染 无效。与现有技术相比,本发明具有以下优点本发明提出的ζ消隐按照图元的建立时间,将相同像素位置上建立时间较早的像 素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素进行渲染。这样,即使在深度不变的情况下对图元进行操作,如旋转,最终渲染绘制的结果也 不会改变图元的原始叠加次序,从而避免了现有技术出现图元位置互换的现象。


图1是现有技术中三维图形的坐标系示意图;图2. 1是现有技术中图像叠加显示的效果图2. 2是现有技术中图像被旋转后的效果图;图3是本发明实施例一所述一种ζ消隐方法流程图;图4是本发明实施例二所述一种ζ消隐方法流程图;图5是本发明实施例二中FIFA图旋转后的显示效果图;图6是本发明实施例三所述一种ζ消隐装置结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。本发明提出了一种改进的ζ消隐方法,该方法按照图元的建立时间,将相同像素 位置上建立时间较早的像素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素 进行渲染。所述图元是一套软件或者系统能操控的基本单位,一根线、一个矩形、一幅截图等 都是图元,图元的组合体也是图元,分别为简单图元和复杂图元。本发明所指图元包括所述 的简单图元和复杂图元。下面通过实施例进行详细说明。实施例一参照图3,是本发明实施例一所述一种ζ消隐方法流程图。步骤301,保持深度不变对图元进行操作;所述深度即指像素保存在深度缓冲区的ζ坐标值,保持深度不变可进行的操作有 多种,如旋转、翻转等操作。进行操作后的图元需要重新进行渲染绘制,然后显示出来。步骤302,如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同, 则比较二者的建立时间;如果旋转后的图元与另一图元存在重叠部分,则在渲染过程中,需要利用ζ消隐 技术确定在重叠的部分最终显示哪个图元的像素。本发明提供的ζ消隐技术是根据图元的建立时间对相同位置的像素进行剔除,不 同于现有技术根据深度信息对像素剔除。本发明主要针对相同像素位置相同ζ值的情况。步骤303,保留建立时间较晚的图元的渲染结果。通常,建立时间较早的图元先进行渲染,因此,建立时间较晚的图元最终显示时会 遮挡(一般是部分覆盖)建立时间较早的图元。这样,本发明通过比较二者的建立时间,就 将重叠位置上建立时间较晚的图元的渲染结果进行保留。由上可见,本发明在图元的渲染过程中,并不考虑图元的像素深度信息,而是按照 图元的建立时间进行渲染绘制,这样,在深度不变的情况下即使对图元进行操作后重新渲 染,也不会改变图元的原始叠加次序。实施例二 本实施例通过一具体例子进行说明。仍以图2. 1为例,显示区域显示国旗图和FIFA图,二者部分重叠,重叠部分的像素 深度相同,并且FIFA图的建立时间早于国旗图。
本实施例将通过这两个图的建立、显示和旋转操作后的显示过程,完整说明本发 明内容。参照图4是本发明实施例二所述一种ζ消隐方法流程图。步骤401,建立国旗图和FIFA图时,新建Z_0rder属性和专家模式属性;每个图元会有很多属性,其中有两个属性是Z_0rder属性(深度排序属性)和专 家模式属性,用于实现图元按时间顺序绘制的效果。其中,Z_0rder属性定义了相同像素位 置的深度排序,专家模式属性定义了渲染模式、绘制模式、绘制线宽、光照属性、DepthTest 属性、RGB 以及 Alpha 属性、Backfaceculling 属性、ZBuffer 属性等。分别对国旗图和FIFA图建立所述两个属性。步骤402,对Z_0rder和专家模式属性进行初始化;步骤403,关闭Z_0rder属性中的Z_0rder选项,即置为FALSE ;同时关闭专家模式 属性中的D印thTest选项(即ζ轴属性),即置为FALSE ;步骤404,对国旗图和FIFA图进行渲染时,把新建的两属性分别添加到对应图元 上;渲染和绘制的过程中会判断图元上的Z_0rder选项和D印thTest选项,如果都为 FALSE,则渲染时关闭深度缓冲,使深度值对渲染无效。因此,即使二者的深度值相同,也与 渲染过程无关。其中,本实施例提供了两种添加方式一种是直接添加到相应图元上,这时控制被 添加图元的ζ轴属性;另一种是直接添加到一个场景上,一个场景通常包括多个图元,因此 该场景中所有图元的ζ轴属性都被控制。步骤405,针对相同像素位置(即重叠部分),比较二者的建立时间;对于不同像素位置(即不重叠的部分),则分别进行渲染绘制。步骤406,比较结果是FIFA图的建立时间早于国旗图,则保留国旗图在相同像素 位置的渲染结果,并显示;步骤407,对FIFA图进行旋转操作;步骤408,对旋转后的FIFA图重新进行渲染,与国旗图重叠的像素位置,仍旧保留 建立时间较晚的国旗图的渲染结果;步骤409,显示旋转后的FIFA图。最终显示效果如图5所示,FIFA图仍旧按照原始的叠加次序,被国旗图遮挡。实施例三针对上述方法实施例的说明,本发明还提供了相应的装置实施例。参照图6,是本发明实施例三所述一种ζ消隐装置结构图。所述装置可以包括操作单元61,用于保持深度不变对图元进行操作;其中,所述操作单元61进行的 操作包括对图元进行旋转;比较单元62,用于当该图元与另一图元在相同像素位置生成渲染结果,并且深度 相同时,比较二者的建立时间;保存单元63,用于保留建立时间较晚的图元的渲染结果。所述装置还可以包括
显示单元64,用于显示旋转后的图元,并在所述相同像素位置显示所保留的图元 的渲染结果。其中,所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图 元时被置为FALSE ;则渲染图元时判断所述两个属性为FALSE,则关闭ζ缓冲,使深度值对渲 染无效。所述图元包括简单图元和复杂图元(即多个图元的组合)。所述装置是按照图元的建立时间,对相同像素位置并且深度相同的像素进行剔 除,因此无论如何旋转图元,都是按照构建的顺序排列图形。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。以上对本发明所提供的一种ζ消隐方法和装置,进行了详细介绍,本文中应用了 具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本 发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体 实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的 限制。
权利要求
1.一种深度相同的Z消隐方法,其特征在于,包括 保持深度不变对图元进行操作;如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二者的 建立时间;保留建立时间较晚的图元的渲染结果。
2.根据权利要求1所述的方法,其特征在于所述操作包括对图元进行旋转。
3.根据权利要求2所述的方法,其特征在于,还包括显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
4.根据权利要求1所述的方法,其特征在于所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为 FALSE ;渲染图元时判断所述两个属性为FALSE,则关闭ζ缓冲,使深度值对渲染无效。
5.一种深度相同的Z消隐装置,其特征在于,包括 操作单元,用于保持深度不变对图元进行操作;比较单元,用于当该图元与另一图元在相同像素位置生成渲染结果,并且深度相同时, 比较二者的建立时间;保存单元,用于保留建立时间较晚的图元的渲染结果。
6.根据权利要求5所述的装置,其特征在于所述操作单元进行的操作包括对图元进 行旋转。
7.根据权利要求6所述的装置,其特征在于,还包括显示单元,用于显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。
8.根据权利要求5所述的装置,其特征在于所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为 FALSE ;渲染图元时判断所述两个属性为FALSE,则关闭ζ缓冲,使深度值对渲染无效。
全文摘要
本发明提供了一种深度相同的Z消隐方法和装置,以解决现有技术经常出现互换位置的问题。本发明提出的z消隐方法按照图元的建立时间,将相同像素位置上建立时间较早的像素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素进行渲染。这样,即使在深度不变的情况下对图元进行操作,如旋转,最终渲染绘制的结果也不会改变图元的原始叠加次序,从而避免了现有技术出现图元位置互换的现象。
文档编号G06T15/00GK102063733SQ200910237759
公开日2011年5月18日 申请日期2009年11月18日 优先权日2009年11月18日
发明者吕精华, 廖健, 沈季, 郑培枫 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1