图像渲染方法和系统技术方案

技术编号:10072720 阅读:78 留言:0更新日期:2014-05-23 19:11
本发明专利技术公开了一种图像渲染方法,该方法包括将当前图像帧与先前图像帧进行比较,以检测图像帧中的对象的动态变化,每个图像帧由场景图限定,且每个对象具有相关联的几何边界体。该方法包括,如果检测到对象中的动态变化,那么针对每个动态变化了的对象,利用指配给当前图像帧的模板值将对象的几何边界体渲染至模板缓存。随后应用模板测试以确定帧中具有非零模板值的区域。该方法还包括将与已经重绘了的先前图像帧中的区域和需要覆盖绘制的当前图像帧中的区域相关的颜色缓存清空,利用模板测试来将图像帧渲染至颜色缓存,使得只重绘具有非零模板值的区域;以及从模板缓存中去除先前图像帧的模板值。

【技术实现步骤摘要】

本专利技术涉及一种图像渲染方法和系统,具体地说,本专利技术涉及一种用于只处理与先前图像帧相比改变了的图像帧的那些片段的方法和系统。
技术介绍
图形图像的处理和渲染是现代计算机系统的重要特征。在图像处理中,在显示器上执行数学过程以渲染或绘制例如三角形或矩形的图元从而产生所需的视觉图像。实时图形处理是基于图元的高速处理从而产生视觉上令人满意的移动图像。为提高图像质量,引进例如模板阴影体(stenciled shadow volumes)的阴影生成技术以在渲染的图像上增加逼真的阴影。模板阴影体技术有赖于模板缓存(stencil buffer)的使用,这将在下面更详细地描述。通常,图形是由图形设计师采用作为标准化软件接口的应用程序接口(API)来渲染能够在多个平台、操作系统和硬件上运行的所需图像而设计的。API的例子包括开放图形库(Open GL(R))和D3D(TM)。这使得图形设计师能够设计图形而无需知道有关系统硬件的特征或他们的命令是如何执行的任何细节。应用程序接口(API)已得到广泛应用且比较强大,并且是用于实现例如本专利技术的那些技术特征的有利工具。当渲染图形图像时,给该图像的每个像素赋予一组存储在缓存器中并用于“显示”该像素的值。例如,每个像素可具有存储在颜色缓存中的颜色值和存储在深度(Z)缓存中的深度值。除颜色缓存和深度缓存外,每个像素在模板缓存中也具有条目(entry)。模板缓存是由可控制像素的更新的模板寄存器组成的存储器。在最简单的情况下,模板缓存用于限制渲染(印刻)的区域。具体而言,模板缓存允许或禁止基于逐个像素地绘制正渲染的目标表面。在其最基本级别上,它允许应用遮盖已渲染的图像的部分以使它们不被显示。模板缓存的典型用途包括定义用于遮盖像素更新、构造实体几何图形以及添加阴影的区域。例如,如果“背景”部分要通过窗口显示,那么可以给要显示的背景的模板寄存器赋予值,同时其他区域的模板寄存器可清空。随后,模板寄存器的值可与阈值进行比较,并可用于遮盖不显示的区域(或者露出要显示的区域)。模板缓存的更多有利之处是充分利用了深度缓存和模板缓存在渲染管线中的强连接。例如,针对未通过或通过模板测试的每个像素,模板值可自动增大或自动减小。与模板缓存有关的是模板测试,其基于特定位置处的模板缓存中的值与参考值之间比较的结果来有条件地舍弃片段。如前所述,模板缓存也可用于增加阴影。阴影可通过产生更自然的图像来增强图像。由于图像阴影对应于真实世界的阴影,因此图像阴影表示由遮光表面产生的阴影效果。由于给定的图像可能既具有多个光源也具有多个遮光表面,因此每个像素的阴影值取决于由所有光源和所有遮光表面产生的阴影。可利用一种或多种在模板缓存中存储有值的阴影算法来产生带有令人信服的阴影的图像。大多数阴影算法“关掉”光源、确定每个像素的基本阴影值、然后选择性地打开单个光源、确定由各光源产生的阴影值、然后混合结果以得到针对各像素的复合阴影值。例如,在OpenGL ES2.0标准下的嵌入式图形硬件上,阴影处理部分通常是最缓慢的元件,即便在简单的片段着色器情况下也是如此。因此,为了渲染图像,需要处理图像的所有片段(或像素)。然而,到目前为止,在图像帧中只有一部分片段发生变化并需要即时可视反馈的连续图像帧(例如汽车组合仪表的数字速度计渲染)中,图像帧中的所有片段均需要处理。为清楚起见,以上观点已用简化了的方式进行描述。通常利用图形设计软件包执行以上观点的实施。这种软件包使得平面设计师能够规定许多编辑属性和格式化属性,包括阴影算法和模板缓存的其他方面的使用。当使用模板缓存时,比如当执行阴影算法时,通常需要先清空模板寄存器。例如,当要确定光源对每个像素的模板值的影响时,通常需要对模板缓存进行多次清空,例如针对每个光源实施一次清空。清空意味着将被清空的模板寄存器的值设置为一些预定值,通常但不总是为00hex(十六进制)。虽然清空模板寄存器并不特别困难,只是通过将预定值写入每个模板寄存器即可,但是如果存在成千上万的模板寄存器,那么将该预定值写入每个模板寄存器是相当慢的过程。例如在阴影渲染的时候,多次这样做将极其耗费时间。另外,随着三维应用目前采用渲染算法如针对单个帧中多个光源的模板阴影体渲染、最新的“软”模板阴影体技术以及基于模板的构造实体几何技术,仅模板的帧缓存清空也越来越常见。在这些算法中,针对每个深度缓存清空有多个模板缓存清空。鉴于上述内容,有利的是提供一种高速有效地清空模板寄存器的方法。同样有利的是,提供用于使平面设计师能够控制模板寄存器的清空的方法,从而使得模板寄存器的使用不会受到负面影响。同样有利的是,提供一种用于有效地清空模板寄存器的高速系统和方法,使得利用模板缓存的数字算法不会受到负面影响。因此,本专利技术的目的是针对连续图像帧减少GPU片段处理,其中,每个图像帧由场景图限定,每个图像帧中的每个对象具有相关联的几何边界体(geometric bounding volumes)。具体而言,在与先前图像帧比较后,在图像帧中只有相对少数的部分或对象变化的实时应用中,如果只是那些少数部分被重新渲染,那么性能就会增强。场景图是图形编辑应用和现代计算机游戏的常用的通用数据结构。场景图是排列图形图像的逻辑表示以及经常是(但不一定必须是)空间表示的结构。场景图是图形或树状结构中的节点的集合。一个节点可具有多个子节点但经常是只有一个母节点,其中,母节点对其所有子节点具有影响。在群组上执行的操作自动地将其影响传播至所有的成员上。在一些程序中,处理这种操作的有效且自然的方式是以每个群组级别来关联几何变换矩阵并将这些矩阵集中起来。共同的特征例如是能够将相关的形状/对象组合成复合对象,其中,该复合对象随后可像针对单个对象一样容易地被移动、转换、选择等。
技术实现思路
根据本专利技术的第一方面,提供了一种图像渲染方法,该方法包括:将当前图像帧与先前图像帧进行比较,以检测图像帧中对象的动态变化,其中每个图像帧由场景图限定,且每个对象具有相关联的几何边界体;如果检测到对象中的动态变化,那么针对每个动态变化了的对象,利用指配给当前图像帧的模板值来将对象的几何边界体渲染至模板缓存;应用模板测试以确定帧中具有非零模板值的区域;将与已经重绘了的先前图像帧中的区域和需要覆盖绘制(overdraw)的当前图像帧中的区域相关的颜色缓存清空。利用模板测试来将图像帧渲染至颜色缓存,使得只重绘帧中具有非零本文档来自技高网
...

【技术保护点】
一种图像渲染方法,该方法包括:将当前图像帧与先前图像帧进行比较,以检测图像帧中的对象的动态变化,每个图像帧由场景图限定,且每个对象具有相关联的几何边界体;如果检测到对象中的动态变化,那么针对每个动态变化了的对象,利用指配给当前图像帧的模板值将对象的几何边界体渲染至模板缓存;应用模板测试以确定帧中具有非零模板值的区域;将与已经重绘了的先前图像帧中的区域和需要重新绘制的当前图像帧中的区域相关的颜色缓存清空。利用模板测试来将图像帧渲染至颜色缓存,使得只重绘帧中具有非零模板值的区域;以及从模板缓存中去除先前图像帧的模板值。

【技术特征摘要】
2012.11.05 EP 12191235.6;2012.11.05 US 13/668,3441.一种图像渲染方法,该方法包括:
将当前图像帧与先前图像帧进行比较,以检测图像帧中的对象的动态变化,
每个图像帧由场景图限定,且每个对象具有相关联的几何边界体;
如果检测到对象中的动态变化,那么针对每个动态变化了的对象,利用指配
给当前图像帧的模板值将对象的几何边界体渲染至模板缓存;
应用模板测试以确定帧中具有非零模板值的区域;
将与已经重绘了的先前图像帧中的区域和需要重新绘制的当前图像帧中的
区域相关的颜色缓存清空。
利用模板测试来将图像帧渲染至颜色缓存,使得只重绘帧中具有非零模板值
的区域;以及
从模板缓存中去除先前图像帧的模板值。
2.如权利要求1所述的图像渲染方法,其中,场景图中的每个对象具有相
关联的变换矩阵,检测对象中的动态变化的步骤包括检测对象的变换矩阵是否变
化。
3.如权利要求1所述的图像渲染方法,其中,在单缓存渲染的情况下,从
模板缓存中去除先前图像帧的模板值的步骤包括去除前一图像帧的模板值的步
骤。
4.如权利要求3所述的图像渲染方法,其中,将模板缓存中每个偶数图像
帧的模板值指配为1,并将每个奇数图像帧的模板值指配为2。
5.如权利要求4所述的图像渲染方法,其中,从模板缓存中去除先前图像
帧的模板值的步骤包括将模板缓存中每个偶数图像帧的值2替换为0,并将模板
缓存中每个奇数图像帧的值1替换为0。
6.如权利要求1所述的图像渲染方法,其中,在双缓存渲染的情况下,从
模板缓存中去除先前图像帧的模板值的步骤包括去除被之前的两个帧渲染了的
帧的模板值的步骤。
7.如权利要求6所述的图像渲染方法,其中,所述方法包括将第一帧的模
板值指配为1,将第二帧的模板值指配为2,将第三帧的模板值指配为3,然后对
随后的帧重复以上操作。
8.如权利要求7所述的图像渲染方法,其中,所述方法包括提供两个颜色
缓存,即前颜色缓存和背颜色缓存,其中前颜色缓存朝向用户,而背颜色缓存用
于渲染背景中的图像。
9.如权利要求8所述的图像渲染方法,其中,所述方法包括一旦在背颜色
缓存中完成渲染就交换颜色缓存,使得背颜色缓存变成前颜色缓存而前颜色缓存
变成背颜色缓存,从而允许在背颜色缓存中进行下一个图像帧的渲染。
10.如权利要求1所述的图像渲染方法,其中,所述对象是不透明的或是透
明的。
11.一种图像渲染系统,所述系统包括:
中央处理单元,其运行存储在存储器中的应用程序;
图形处理单元,其具有主机接口以接收原始图像数据和中央处理单元的程序
指令;
帧缓存器,其包括:深度缓存,其用于存储帧中每个像素的深度信息;颜色
缓存,其用于存储每个像素的颜色信息;以及模板缓存,其具有针对每个像素的
模板寄存器,帧缓存器通过帧缓存器接口与图形处理单元交换数据,
所述中央处理单元设置为用以:
将当...

【专利技术属性】
技术研发人员:托马斯·沃洛蒂宁丹尼斯·库金金
申请(专利权)人:正谓有限公司
类型:发明
国别省市:芬兰;FI

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1