用于对计算机图形图像进行阴影化和纹理化的方法及设备技术

技术编号:14341826 阅读:138 留言:0更新日期:2017-01-04 13:45
提供了一种用于在后续渲染中使用动态渲染纹理在基于图块的渲染系统中对计算机图形图像进行阴影化和纹理化的方法和设备。得到场景空间几何结构以用于动态渲染纹理并传递至图块化单元,该图块化单元得到参照纹理的场景的场景空间几何结构。还可以得到参照动态渲染纹理的场景的场景空间几何结构并被传递到所述图块化单元。所述图块化单元使用从所述场景空间几何结构得到的对象数据来检测对还未被渲染的动态地渲染纹理的区域的参照。然后这些区域被动态地渲染。

【技术实现步骤摘要】
本申请为申请日为2011年3月18日、题为“基于图块的渲染系统中基于需求的纹理渲染”的中国专利技术专利申请201180014841.2的分案申请。
本专利技术涉及三维计算机图形渲染系统,尤其涉及与基于图块的渲染系统中纹理的渲染相关联的方法和设备。
技术介绍
在实时计算机图形中对表面执行渲染是很普通的,然后在随后的渲染中表面被用作纹理,即渲染后的表面变为新的纹理或“动态渲染”的纹理。例如为了渲染包括场景映像的场景,通常首先将场景渲染为环境纹理贴图(map)。然后该贴图在对象的阴影化期间被用于在对象上产生环境的映像。这可以被用于诸如在镜像建筑中显示映像。另外对于环境贴图(mapping)在使用被称为阴影贴图的技术的现代计算机图形应用上是常见的。阴影贴图技术将场景中来自光源角度的对象的深度渲染成纹理贴图。这些纹理贴图在随后的对象渲染期间被使用以便确定关于光源的每个像素是否在阴影中。这通过比较正在被渲染的对象像素的深度和存储在“阴影贴图”纹理中等效位置处的深度来完成,例如,如果对象的深度大于阴影贴图中的深度,那么其在相对于光源的另一对象的后面,所以在该像素的渲染期间,不应该应用光源的照射效果。对于与阴影贴图相关联的纹理是非常大的诸如2048x2048或者更大,较高质量的渲染通常需要具有较大的纹理尺寸,这是很常见的。应当注意的是在以上技术上存在多种变化且以上二者作为示例,而本专利技术的范围不制于这些技术。在现代图形应用中对于纹理的这些渲染和随后从其的读取的东西可以使用相当大比例的可用存储器带宽来以交互式帧速率来渲染场景。此外对于许多渲染成这些纹理的数据随后不被使用,这不是异常的。例如图1示出了细分成区域T0到T23的先前渲染的纹理100和将部分纹理100贴图成三角形120的区域100。可以看出,仅仅先前渲染的纹理的图块T3、T8、T9、T14至T16、T21和T22需要被栅格化以满足纹理到三角形120的贴图。基于图块的渲染系统是众所周知的。这些系统将图像细分成多个矩形块或图块。完成该过程方式和随后执行的纹理化和阴影化在图2中示意性地示出。首先,图元/命令提取单元201从存储器检索命令和图元数据并将其传递到几何结构(geometry)处理单元202。其使用已知方法将图元和命令数据传输至屏幕空间。然后该数据被提供至图块化单元203,该图块化单元203将对象数据从屏幕空间几何结构插入到用于一组定义的矩形区域或图块的每个矩形区域或图块的对象列表中。用于每个图块的对象列表包含完全地或部分地存在于该图块中的图元。该列表存在以用于屏幕上的每个图块,尽管某些对象列表中可以没有数据。这些对象列表通过图块参数提取单元205提取,该图块参数提取单元205一个图块一个图块地向隐式表面移除单元(HSR)206提供对象列表,隐式表面移除单元(HSR)206移除将不能有助于最终场景的表面(通常因为他们被另一表面遮盖)。HSR单元处理图块中的每个图元并只传递可见像素的数据到阴影化单元208。阴影化单元从HSR得到数据并使用纹理化单元210将其用来提取纹理以及使用已知技术将阴影化应用到可见对象内的每个像素。阴影化单元然后将纹理化和阴影化的数据馈送到片上图块缓冲器212。因为数据被暂时存储在片上图片缓冲器中,与暂时存储相关联的外部存储器带宽被淘汰。一旦每个图块都已经被纹理化和阴影化,结果数据就被写入外部场景缓冲器214。
技术实现思路
本专利技术的优选实施方式提供了一种使基于图块的渲染系统能够栅格化并只将渲染的纹理表面存储在随后的渲染将用到的地方的方法和设备。这通过对所有纹理表面执行如上文所述的图块化阶段而将那些动态渲染的纹理表面的栅格化阶段推迟到他们被参照(reference)的点来完成。使用“基于需求(demand)的纹理渲染”(如,来自图1的100)的场景的渲染可能仅参照每个图块内每个纹理的小区域,系统能够在引入小的回写高速缓存(cache)的点处渲染一个或多个纹理化图块以在主渲染中立即使用。由于参照的局部性质,很可能被渲染的数据将继续位于高速缓存子系统中以用于需求的任何图块,因此大幅地减少了与纹理的渲染及其随后的使用都相关的存储器宽带。附图说明现在将通过参考附图的示例详细地描述本专利技术的优选实施方式,其中:图1示意性地示出了先前渲染的纹理的小区域可以怎样被随后参照以用于对象的纹理化;图2显示了如上所述的已知基于图块的渲染系统的示意图;图3示出了体现本专利技术的基于需求的纹理渲染的操作;图4示出了本专利技术的实施方式中的用于基于需求的纹理渲染的对于基于图块的渲染系统的变型;图5示出了本专利技术实施方式中的对于请求实施基于需求的纹理渲染的纹理管线(pipeline)的变型。具体实施方式图3示出了基于图块的系统中需求模式纹理栅格化的操作。应用300首先生成用于将被渲染成如图1的100中的纹理的图像的几何结构305。该几何结构在310处使用众所周知的技术被处理以产生被传递至图块化单元315的屏幕空间几何结构,图块化单元315生成所描述的图块屏幕空间参数320以用于基于图块的渲染系统。应当注意的是有效标记表格358指示纹理中的每个图块的当前状态(即是否已经被渲染)。该表格通常存储在存储器中并包含用于指示每个图块是否已经被渲染的每个图块的状态标记,所有标记最初被都清除以用于指示没有图块已经被渲染。每当一个图块被渲染,相应于该图块的标记被设置。然后应用通过产生主场景几何结构335在330处切换到主场景的渲染,主场景几何结构335然后通过几何结构处理器340处理成屏幕空间并在345处进行图块化以产生用于每个图块的对象列表。然后作为结果的主场景参数350在355处一次一个图块地被栅格化。在栅格化过程期间栅格化硬件(未示出)检测动态纹理的区域,例如被请求但未出现在纹理存储中的环境地图。这些相应于上文参照图1讨论的类型的纹理化。栅格化程序通过读取图块有效标记358确定每个纹理化图块(如图1中所示)是否已经被渲染。当栅格化程序确定纹理化图块还没有被渲染时,栅格化程序从栅格化主场景切换到栅格化用于纹理渲染320需要的纹理化图块的参数,纹理渲染320与需要的区域相关联。随后的栅格化处理375产生用于被写入高速缓存360的T3380(来自图1)的纹理图像数据。然后用于纹理化图块的相应的有效标记被设置并且然后栅格化硬件在385处切换回栅格化主场景355。该过程被重复用于场景的所有区域,场景的所有区域被发现将根据动态纹理而被请求。例如来自图1的区域T3、T8、T9、T14、T15、T16、T21和T22。应当注意的是动态纹理的剩余区域不被栅格化从而节约了极大的存储器宽带和处理费用。应当注意的是写入高速缓存的纹理化图块数据可以被写回到存储器(未示出)或者当其从高速缓存360驱除时丢弃。在数据被丢弃的情况中如果该图块(如T3)被再次参照则他可以在以后再次如上文所述被重新创建。这种方法仅允许非常大的纹理表面通过与图块化的几何结构参数相关联的存储器表示。在纹理数据被丢弃而不是被写回到存储器的情况下,相应的有效标记358被清除以用于指示该纹理不再出现。图4示出了如上文讨论的使用动态纹理化实施纹理化表面的基于图块的模式渲染的系统。应当注意的是图块化/几何结构处理单元与在图2中示出的相同而在此未示出。本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201610652483.html" title="用于对计算机图形图像进行阴影化和纹理化的方法及设备原文来自X技术">用于对计算机图形图像进行阴影化和纹理化的方法及设备</a>

【技术保护点】
一种用于在后续渲染中使用动态渲染纹理在基于图块的渲染系统中对计算机图形图像进行阴影化和纹理化的方法,该方法包括步骤:得到(310)待被动态渲染的纹理的屏幕空间几何结构;传递所得到的所述待被动态渲染的所述纹理的屏幕空间几何结构至图块化单元(315),以产生多个纹理化图块中的每一者的纹理参数(320);得到(340)参照所述待被动态渲染的纹理的场景的屏幕空间几何结构;传递所述场景的所述屏幕空间几何结构至所述图块化单元(345),以产生多个场景图块中的每一者的对象列表(350);使用所述场景图块的所述对象列表来渲染来自所述图块化单元(315,,345)的场景图块,其中该方法包括:通过以下操作将所述纹理的所述渲染推迟到该纹理被参照的点:检测待被渲染的纹理图块的参照;切换至对待被渲染的纹理图块进行渲染;通过使用所检测的待被渲染的所述纹理图块的所述纹理参数,动态渲染(375)该纹理图块;以及切换回对来自所述图块化单元(345)的所述场景图块进行渲染(355)。

【技术特征摘要】
2010.03.19 GB 1004676.11.一种用于在后续渲染中使用动态渲染纹理在基于图块的渲染系统中对计算机图形图像进行阴影化和纹理化的方法,该方法包括步骤:得到(310)待被动态渲染的纹理的屏幕空间几何结构;传递所得到的所述待被动态渲染的所述纹理的屏幕空间几何结构至图块化单元(315),以产生多个纹理化图块中的每一者的纹理参数(320);得到(340)参照所述待被动态渲染的纹理的场景的屏幕空间几何结构;传递所述场景的所述屏幕空间几何结构至所述图块化单元(345),以产生多个场景图块中的每一者的对象列表(350);使用所述场景图块的所述对象列表来渲染来自所述图块化单元(315,,345)的场景图块,其中该方法包括:通过以下操作将所述纹理的所述渲染推迟到该纹理被参照的点:检测待被渲染的纹理图块的参照;切换至对待被渲染的纹理图块进行渲染;通过使用所检测的待被渲染的所述纹理图块的所述纹理参数,动态渲染(375)该纹理图块;以及切换回对来自所述图块化单元(345)的所述场景图块进行渲染(355)。2.根据权利要求1所述的方法,动态渲染的纹理数据被存入纹理高速缓存内。3.根据权利要求1所述的方法,该方法包括步骤:确定所需的纹理是否之前已被渲染。4....

【专利技术属性】
技术研发人员:J·W·豪森
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

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

1