本发明专利技术提供了一种三维图像的呈现方法和装置,该方法对三维图元进行放大,增大其像素深度之后,对该三维图元重新进行渲染绘制时,关闭该三维图元的深度缓冲,使深度值对渲染无效,然后根据图元建立的时间顺序,在相同像素位置保留建立时间较晚的图元像素深度,并最终显示。这样,渲染过程与像素深度无关,不会受像素深度的影响,从而避免了图元先后位置互换的现象。
【技术实现步骤摘要】
本专利技术涉及计算机图形学
,特别是涉及一种三维图像的呈现方法和装置。
技术介绍
三维图形的表示如图1所示,在空间任取一点O,过O作互相垂直的三直线x、y、z,称O为原点,则构成空间坐标系。右边是x轴正方向,上面是y轴正方向,垂直于屏幕指向屏幕外的方向为z轴正方向。在计算机图形学中,深度缓冲是在三维图形中处理图像深度坐标的过程,这个过程通常在硬件中完成,但也可以在软件中完成。深度缓冲是可见性问题的一个解决方法,而可见性问题是确定渲染场景中哪部分可见、哪部分不可见的问题。当三维图形卡渲染物体的时候,每一个所生成的像素的深度(即z坐标,也称z值)就保存在一个缓冲区中。这个缓冲区叫做z缓冲区或者深度缓冲区,这个缓冲区通常组织成一个保存每个屏幕像素深度的x-y二维数组。如果场景中的另外一个物体也在同一个像素生成渲染结果,那么图形处理卡就会比较二者的深度,并且保留距离观察者较近(即z值较大)的物体。然后这个所保留的物体点深度保存到深度缓冲区中。最后,图形卡就可以根据深度缓冲区正确地生成通常的深度感知效果:较近的物体遮挡较远的物体。这个过程叫做z消隐。在渲染过程中,z消隐是根据深度信息对像素的早期剔除。当渲染隐藏表面所需要的计算量很大的时候,这种方法可以提升处理性能。z消隐是深度缓冲的一个直接结果,在这种方法中每个待定像素的深度都要与相同位置的现存像素的深度进行比较。参照图2,是三维图形的叠加显示效果图。显示区域包括一个显示为锥体的三维图形(简称三维椎体),以及一行显示为“NEWAUTO”的二维文字。其中,二维文字在z轴上可以一个值表示(因为与z轴相交一点),但三维椎体在z轴上需要以一定的区间表示(因为与z轴相交两点)。按照上述渲染绘制方法,z消隐过程中对于三维椎体和二维文字相重叠的部分,由于相同像素位置上二维文字的z值大于三维椎体的z值区间,即二维文字的z值大于三维椎体z值区间的最大值,即二维文字距离观察者较近,因此深度缓冲中保留二维文字的深度,在显示区域的显示效果如图2所示,二维文字遮挡三维椎体。参照图3,是放大三维椎体的效果图。所述“放大”是把一个图元调整的离观察者近一些,即z值增大,观察者感觉图元在放大。对三维椎体进行放大操作后,需要重新进行渲染绘制。按照上述渲染绘制方法,如果相同像素位置上三维椎体的z值区间大于二维文字的z值,即三维椎体z值区间的最大值大于二维文字的z值,则显示效果如图3所示,二维文字穿越三维椎体显示。这样,就带来如下问题:如果多次放大二维文字和三维椎体,就会改变原始的叠加次序,经常出现二者位置互换的现象。-->
技术实现思路
本专利技术所要解决的技术问题是提供一种三维图像的呈现方法和装置,以解决现有技术中放大三维图像后改变了图像的原始叠加次序的问题。为了解决上述问题,本专利技术公开了一种三维图像的呈现方法,包括:在包含多个图元的显示区域,放大该显示区域中的三维图元;渲染放大后的三维图元时,关闭该三维图元的深度缓冲,使深度值对渲染无效;然后根据所述各图元建立的时间顺序,对所述放大后的三维图元进行渲染;对渲染后的三维图元在该显示区域重新呈现。其中,根据所述各图元建立的时间顺序,对所述放大后的三维图元进行渲染,包括:在所述三维图元与其它图元存在重叠的像素位置,比较三维图元与其它图元的建立时间;保留建立时间较晚的图元的渲染结果。所述方法还包括:建立图元,包括:新建深度缓冲控制属性和深度排序属性;初始化所述深度缓冲控制属性和深度排序属性,并将各图元的深度缓冲控制属性和深度排序属性都设置为FALSE。其中,通过以下方式关闭该三维图元的深度缓冲:将深度缓冲控制属性和深度排序属性添加到该三维图元;渲染放大后的三维图元时,通过判断该三维图元的深度缓冲控制属性和深度排序属性都为FALSE,关闭该三维图元的深度缓冲。其中,所述添加包括:将深度缓冲控制属性和深度排序属性直接添加到相应图元上;或者,将深度缓冲控制属性和深度排序属性直接添加到应用场景中,则该应用场景中的所有图元都添加了所述两个属性。本专利技术还提供了一种三维图像的呈现装置,包括:放大操作单元,用于在包含多个图元的显示区域,放大该显示区域中的三维图元;深度缓冲控制单元,用于渲染放大后的三维图元时,关闭该三维图元的深度缓冲,使深度值对渲染无效;渲染单元,用于根据所述各图元建立的时间顺序,对所述放大后的三维图元进行渲染;显示单元,用于对渲染后的三维图元在该显示区域重新呈现。其中,所述渲染单元在所述三维图元与其它图元存在重叠的像素位置,比较三维图元与其它图元的建立时间,然后保留建立时间较晚的图元的渲染结果。所述装置还包括:图元建立单元,用于建立图元;该图元建立单元包括:属性建立子单元,用于新建深度缓冲控制属性和深度排序属性;-->初始化子单元,用于初始化所述深度缓冲控制属性和深度排序属性,并将各图元的深度缓冲控制属性和深度排序属性都设置为FALSE。所述装置还包括:属性添加单元,用于将深度缓冲控制属性和深度排序属性添加到该三维图元;渲染放大后的三维图元时,所述深度缓冲控制单元通过判断该三维图元的深度缓冲控制属性和深度排序属性都为FALSE,关闭该三维图元的深度缓冲。其中,所述属性添加单元包括:第一添加子单元,用于将深度缓冲控制属性和深度排序属性直接添加到相应图元上;或者包括,第二添加子单元,用于将深度缓冲控制属性和深度排序属性直接添加到应用场景中,则该应用场景中的所有图元都添加了所述两个属性。与现有技术相比,本专利技术具有以下优点:本专利技术对三维图元进行放大,增大其像素深度之后,对该三维图元重新进行渲染绘制时,关闭该三维图元的深度缓冲,使深度值对渲染无效,然后根据图元建立的时间顺序,在相同像素位置保留建立时间较晚的图元像素深度,并最终显示。这样,渲染过程与像素深度无关,不会受像素深度的影响,从而避免了图元先后位置互换的现象。附图说明图1是现有技术中三维图形的坐标系示意图;图2是现有技术中三维图形的叠加显示效果图;图3是现有技术对图2中三维图形放大的效果图;图4是本专利技术对图2中三维图形放大的效果图;图5是本专利技术实施例一所述放大三维图形的方法流程图;图6是本专利技术实施例二所述呈现三维图形的方法流程图;图7是本专利技术实施例三所述呈现三维图形的装置结构图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术针对三维图元放大后的渲染,提出了一种改进的方法,根据图元的建立时间确定先后渲染顺序,不同于现有技术按照像素深度进行渲染。其中,所述“放大”可以解释为两种含义:第一种是把一个图元调整的离观察者近一些,即z值增大,观察者感觉图元在放大;第二种“放大”,就是单纯的进行缩放,即X、Y轴的缩放,但是Z轴没有变化。本实施例中,所述“放大”是指第一种含义。其中,所述图元是一套软件或者系统能操控的基本单位,一根线、一个矩形、一幅截图等都是图元,图元的组合体也是图元,分别为简单图元和复杂图元。本专利技术所指图元包括所述的简单图元和复杂图元。其中,图像渲染是将基于对象的高级描述转换为用于在某个显示设备上显示的图形化图像。例如,在将三维对象或场景的数学模型转换为位图图像期间,就会发生图像渲染-->的动作。通常,称为图形渲染引本文档来自技高网...
【技术保护点】
一种三维图像的呈现方法,其特征在于,包括:在包含多个图元的显示区域,放大该显示区域中的三维图元;渲染放大后的三维图元时,关闭该三维图元的深度缓冲,使深度值对渲染无效;然后根据所述各图元建立的时间顺序,对所述放大后的三维图元进行渲染;对渲染后的三维图元在该显示区域重新呈现。
【技术特征摘要】
1.一种三维图像的呈现方法,其特征在于,包括:在包含多个图元的显示区域,放大该显示区域中的三维图元;渲染放大后的三维图元时,关闭该三维图元的深度缓冲,使深度值对渲染无效;然后根据所述各图元建立的时间顺序,对所述放大后的三维图元进行渲染;对渲染后的三维图元在该显示区域重新呈现。2.根据权利要求1所述的方法,其特征在于,根据所述各图元建立的时间顺序,对所述放大后的三维图元进行渲染,包括:在所述三维图元与其它图元存在重叠的像素位置,比较三维图元与其它图元的建立时间;保留建立时间较晚的图元的渲染结果。3.根据权利要求1所述的方法,其特征在于,还包括:建立图元,包括:新建深度缓冲控制属性和深度排序属性;初始化所述深度缓冲控制属性和深度排序属性,并将各图元的深度缓冲控制属性和深度排序属性都设置为FALSE。4.根据权利要求3所述的方法,其特征在于,通过以下方式关闭该三维图元的深度缓冲:将深度缓冲控制属性和深度排序属性添加到该三维图元;渲染放大后的三维图元时,通过判断该三维图元的深度缓冲控制属性和深度排序属性都为FALSE,关闭该三维图元的深度缓冲。5.根据权利要求4所述的方法,其特征在于,所述添加包括:将深度缓冲控制属性和深度排序属性直接添加到相应图元上;或者,将深度缓冲控制属性和深度排序属性直接添加到应用场景中,则该应用场景中的所有图元都添加了所述两个属性。6.一种三维图像的呈现装置,其特征在于,包括:放大操作单元,用于在包含多...
【专利技术属性】
技术研发人员:廖健,郑培枫,吕精华,沈季,
申请(专利权)人:新奥特北京视频技术有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。