本发明专利技术提供了一种深度相同的Z消隐方法和装置,以解决现有技术经常出现互换位置的问题。本发明专利技术提出的z消隐方法按照图元的建立时间,将相同像素位置上建立时间较早的像素剔除,保留建立时间最晚的图元像素,并依据保留的图元像素进行渲染。这样,即使在深度不变的情况下对图元进行操作,如旋转,最终渲染绘制的结果也不会改变图元的原始叠加次序,从而避免了现有技术出现图元位置互换的现象。
【技术实现步骤摘要】
本专利技术涉及计算机图形学
,特别是涉及一种深度相同的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消隐方法,其特征在于,包括:保持深度不变对图元进行操作;如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二者的建立时间;保留建立时间较晚的图元的渲染结果。
【技术特征摘要】
1.一种深度相同的Z消隐方法,其特征在于,包括:保持深度不变对图元进行操作;如果该图元与另一图元在相同像素位置生成渲染结果,并且深度相同,则比较二者的建立时间;保留建立时间较晚的图元的渲染结果。2.根据权利要求1所述的方法,其特征在于:所述操作包括对图元进行旋转。3.根据权利要求2所述的方法,其特征在于,还包括:显示旋转后的图元,并在所述相同像素位置显示所保留的图元的渲染结果。4.根据权利要求1所述的方法,其特征在于:所述图元包括深度缓冲控制属性和深度排序属性,所述两个属性在建立图元时被置为FALSE;渲染图元时判断所述两个属性为FALSE,则关闭z缓冲,使深度值对渲染无效。5.一种深度相同的Z消隐装置,其特...
【专利技术属性】
技术研发人员:廖健,郑培枫,吕精华,沈季,
申请(专利权)人:新奥特北京视频技术有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。