当前位置: 首页 > 专利查询>微软公司专利>正文

用于提供可控制的纹理采样的系统和方法技术方案

技术编号:2950018 阅读:142 留言:0更新日期:2012-04-11 18:40
提供在计算机系统中用于控制对计算机图形进行的纹理采样的系统和方法。在各个实施例中,提供了用于控制纹理采样的改进的机制,它们能使3-D加速器硬件大大地提高呈现时的逼真度,包括针对下列各项的改进的机制:(1)运动模糊;(2)生成各向异性表面反射;(3)生成表面自投阴影;(4)光线投射容量采样;(4)自投阴影容量呈现和(5)自投阴影容量光线投射。在补充现有的纹理采样技术时,可以替换和/或修改用于纹理采样的参数。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术旨在提供一种用于对计算机图形进行纹理采样的系统和方法。更具体来说,本专利技术旨在提供一种用于进行可控制的纹理采样的系统和方法。
技术介绍
纹理映射允许彩色或纹理化的信号在几何图形上成像,从而在粗糙的三角形网孔上出现细节。使用纹理一般来讲比精炼载体几何图形来表示每个顶点的信号更有效。尽管光栅化硬件已经支持基本纹理映射许多年,但是近年来却开始提供更强大的功能。图1显示了纹理映射过程的概述。给定纹理图200,具有纹理元素202,纹理映射根据三角形的某些几何学配置将纹理图200的信号应用于网孔的三角形210,和/或应用一些其他变换,如阴影、光照等,这会将纹理元素202映射到像素222。纹理映射是一个涉及Nyquist理论的问题,到了将要避免混叠的程度,这说明,为准确地复制模拟波形,应该至少以其最高频率的两倍的速率对模拟信号进行采样,以便能够以很高的准确性来表示数字域中的信号。然后利用数字模拟转换技术准确地重建原始模拟信号。如果使用的采样率不足,那么结果就会产生混叠,混叠是显示为较低频率噪声的不正确地采样的高频率的信息。采样问题还与纹理映射一起产生。纹理映射的过程对纹理图采样得到屏幕像素,到可能的程度,应该以充分高的采样率对纹理图数据进行采样,以包含最高频率信息。在这点上,通常,一定数量的像素表示的屏幕对象使用具有不同数量的纹理元素(texel)的纹理图。当纹理图具有比像素间距更多的纹理元素时,单个像素可以映射到多个纹理元素,当纹理图具有比像素间距更少的纹理元素时,多个像素可以映射到单个纹理元素。当纹理间距和图片间距之间没有准确的映射时,就可能会出现显示器质量问题。实际上,纹理图可能不能够有效地将相应的图像细节映射到指定的像素区域,或者相反,较小的像素区域可能不能够使用较大/较丰富的纹理图中的所有纹理细节。具体来说,在纹理图相对于正在被映射的像素区域太小的情况下,那么同一纹理元素将映射到相邻的像素,这会导致在查看图像时出现浓淡不匀的效果。在其他情况下,如果多个纹理元素映射到同一像素,通常需要从纹理图中选择可能映射到给定像素的纹理元素组中的准确的纹理元素,然后应用到该像素。如此,这是一个依赖于算法的过程,并可能导致被称为纹理眩晕和像素弹出的人为因素,这两种情况在相机移动时非常明显。此外,即使对于映射存在大体上类似的或相同数量的像素和纹理元素,也可能有某些变换,或函数,在呈现之前应用到纹理元素,在这种情况下,某些算法仍必须决定像素数据相对于纹理元素数据应该来自哪里。为了说明可能出现的问题,可以按如下方式考虑纹理元素数量大于像素数量的情况。假设在三维(3-D)场景中有一个正方形广告牌表面,包含两个等边三角形,其特征在于,正方形是100×100像素。如果一个人在100×100像素正方形区域之上应用包含200个水平红色和蓝色条带的纹理图,一旦应用到广告牌,纹理的全部200个条带都无法辨别,因为纹理具有比它所应用的像素区域更多的样本。某些中间纹理数据不会在映射中使用,并且本质上将被忽略。随着一个人的3-D视点在广告牌上移动,如果在一个游戏中导航,例如,一个叫做像素弹出的现象就会发生,这是纹理的条带与广告牌像素时而对齐时而不对齐所造成的。这种是纹理采样率不足以描述该场景的细节的情况。这是可能产生的一种人为因素的说明,还可能由于拙劣的纹理采样产生其他类型的人为因素。有多种方法最大限度地降低由纹理采样率不足而引起的呈现人为因素,通常以筛选和重新采样的形式。在诸如点采样之类的简单纹理化方法中使用的两个筛选方法是放大和缩小,它们会改变纹理采样方法以帮助避免上文描述的问题。缩小算法使用于多个纹理元素可以映射到单个像素的情况,它可以从可以映射到像素的一组纹理元素中选择最佳匹配的纹理元素。当多个像素可以映射到单个纹理元素时使用放大技术,它将单个纹理元素映射到多个像素。有许多应用纹理的方法,它们在速度和质量方面有所不同,包括点采样、双线性筛选、三线性MIP映射、各向异性筛选和抗混叠技术。向一个表面应用纹理的最基本的途径是点采样,该方法使用“最近邻域”采样方法。当呈现器获取一块纹理时,它从具有(u,v)坐标的纹理图抓取纹理样本,该坐标将最近的区域映射到像素的坐标(像素中心),并将它应用到像素。这种方法在图2A中显示,其特征在于,从像素间距到纹理元素间距的映射的相关的位置位于位置P1。这里,由于最靠近的纹理元素是T1,因此选择了T1。虽然这种方法在需要从纹理存储器读取的纹理元素数量方面要求最低量的存储器带宽,即,每一个像素一个,结果通常会导致上文所讨论的人为因素,由于样本不足,即,屏幕像素不足以描述纹理。但甚至是第一代个人计算机(PC)3-D硬件也具有帮助清理的功能,或者至少在一定的程度上,即,通过利用双线性筛选,来隐藏这些采样问题。双线性筛选不只是抓取纹理上的最近邻域,而是读取距离像素中心最近的四个样本,并使用这些颜色值的加权平均值作为最后的纹理颜色值。如此,如图2B所示,获取T1、T2、T3和T4的加权平均值,其特征在于,权重基于从像素中心到四个纹理元素中心的距离。对那些一般了解图形处理技术的人已知的双线性筛选的示范等式如下ca=pi,j·α+(pi,j+1)·(1-αa)cb=pi+l,j·α+(pi+1,j+1)·(1-αa)F=lrp(ca,cb)·αb,其中lrp是当今的图形处理单元(GPU)轻松地理解的线性插值函数。视觉网络效果是除去点采样所发生的很多纹理人为因素,但由于它只是与单个纹理图一起使用的四开口筛选,因此双线性筛选的效果是有限的。改善纹理图像质量的另一种方法是被称为MIP映射的技术,其中,呈现器制造原始纹理的多个副本,每一个后续的MIP图的分辨率都正好是前面一个的分辨率的一半。这有效地成为一种3-D纹理,其特征在于,有两个标准坐标(u,v),但还有第三个坐标,d,用于基于哪一个图分辨率将最匹配要映射的像素区域来选择测量哪一个MIP图。在一个战斗机接近于观察照相机的情况下,将选择一个非常详细的纹理图,但随着飞机的飞走,将使用较小和不太详细的图。随着d坐标增大,将使用更小的MIP图。d坐标的派生趋向于复杂化,并依赖于实现方式,但一般来说涉及基于要覆盖的像素区域计算出将从特定MIP图选择产生多大的纹理放大或缩小。如此此方法选择具有最小的纹理放大和缩小的MIP图。如图2C所示,MIP映射的问题是选择哪一个纹理200a、200b、200c等用来表示在呈现像素时220的像素数量为最佳。有几个不同的应用程序可以使用MIP图的途径,并且它们通常依赖于图形硬件支持情况。在某些情况下,应用程序可以选择(A)选择最对应于要映射的像素区域的单个图,(B)对该图中的纹理元素应用双线性筛选,然后(C)对它们的对应的像素应用所产生的平均纹理元素。然而,双线性MIP映射所存在的视觉问题可能会在移过场景时在图边界发生。例如,当在一个游戏中沿一条车道驾驶时,一个人可能看到车道纹理上的可见的破裂。这可能是由于MIP图切换造成的。通常使用的MIP映射的较高的质量方法叫做三线性MIP映射,该方法可以帮助减轻上文讨论的MIP图边界问题。这种筛选方法从距离像素最近的两个MIP图获取两个双线性样本,每一样本使用四个纹理元素样本,其中,一个纹理图的本文档来自技高网...

【技术保护点】
一种提供可控制的纹理采样的方法,包括: 指定在对纹理图进行纹理采样时利用的采样区域的至少一个参数;以及 根据所说的采样区域的所说的指定参数对所说的纹理图进行纹理采样。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:查尔斯N伯伊德迈克尔A托利
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利