梯形阴影映像制造技术

技术编号:2952638 阅读:310 留言:1更新日期:2012-04-11 18:40
一种在景物的计算机图形表示中实时阴影产生的方法,该方法包括基于景物的所需视域限定目视平截头体;限定照明至少一部分景物的光源的位置;产生梯形以在光的后透视空间L中的目视平截头体内估计出区域E;对梯形中的物体施加梯形变换,以将其变换到梯形空间中,用于计算阴影映像;以及利用计算的阴影映像确定物体或其部分是否位于景物的所需视域中的阴影中。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术广泛地涉及一种对于景物的计算机图形表示中产生实时阴影的衍生阴影映像(shadow map)的方法,一种数据存储介质和一种计算机系统。
技术介绍
由于功能强大的图形处理单元的处理支持的增长,因此计算机图形系统中实时阴影的产生最近引起了人们很多注意。在许多应用中,阴影是重要的,因为它们对景物增加进一步的真实感并提供附加的深度提示。寻找怎样计算阴影的方法始于几十年以前。我们注意到在大多数技术中,在阴影质量和渲染(rendering)时间上存在折衷。最近的方法是基于标准的阴影映像算法(SSM)。该双通道(two-pass)算法简洁并易于理解。在第一通道中,有深度缓冲器在启动的情况下从光的视点把景物渲染。该缓冲器被读取或存储到称为阴影映像的图像。在第二通道中,从摄像机视点把景物渲染并对于每个片段包含阴影确定。如果当变换到光的视域中时片段的z值大于其相应的存储在阴影映像中的深度值,则片段位于阴影中。与其他方法相比,标准阴影映像算法容易实现,并且其计算相对快。此外,其操作可以在最近的图形硬件中有效地映射和执行。专用的纹理(texture)用于阴影映像,并且阴影确定利用投影纹理映射来进行。另一方面,SSM具有许多限制。第一缺陷为分辨率问题。当光接近于景物以及眼睛的视点时,SSM效果较好,但当光远离时在阴影边界附近产生混淆。这由于在需要较高分辨率的区域中的低阴影映像分辨率而引起。除了仅少量的纹理存储器用于收集阴影映像的实际情况以外,当目视平截头体(eye’s frustum)的聚焦区域对阴影映像贡献非常小的部分而在阴影映像中相应于这些眼睛视域不可见的位置的其余空间没有被利用时,该问题可以出现。另一限制称为多边形偏移问题。由于图像的空间属性,因此阴影比较利用有限的精度进行,其引起自阴影的问题。这可以通过寻找偏离值(和斜率系数)来处理,所述值加上阴影映像的深度值以把z值稍微移离光。我们注意到一些方法利用深度值的非线性分布以令多边形偏移问题恶化为代价来解决分辨率问题。另一限制称为连续性问题,其中阴影映像质量从一个画面至另一画面显著地改变,导致阴影的闪烁。这在所有变形的阴影映像方法如边界框估计方法(见图2)和透视的阴影映像中发生。具体地,例如,透视的阴影映像依靠可以投射阴影的所有物体的凸包。该凸包和由此得到的阴影质量可能突然改变。在一个例子中,这情况是发生于物体在动态环境中移入或移出光的平截头体的时候。在另一个例子中,当算法实际上移动了眼睛的位置以避免例如由于透视投影引起的物体的倒置顺序时,可以观察到该情况。因此,为了平衡上述限制,构想出本专利技术并且现在已经将其实施出来。
技术实现思路
根据本专利技术的第一方面,提供一种在景物的计算机图形表示中实时阴影产生的方法,该方法包括基于景物的所需视域限定目视平截头体;限定照明至少一部分景物的光源的位置;产生梯形以在光的后透视空间L中的目视平截头体内估计出区域E;对梯形中的物体施加梯形变换,以将其变换到梯形空间中,用于计算阴影映像;以及利用计算的阴影映像确定物体或其部分是否位于景物的所需视域中的阴影中。分别产生梯形的顶线It和底线Ib以在L中估计出E的步骤可以包括-计算中心线I,其通过E的近平面和远平面的中心; -计算E的2D凸包;-计算It,其与I正交并接触E的凸包的边界;-计算Ib,其平行于It并接触E的凸包的边界。在E的近平面和远平面的中心基本上一致的情况下,可以把限制远平面的最小框限定为梯形。产生梯形的侧线以在L中估计出E的步骤可以包括-指定离目视平截头体的近平面的距离为d,以限定在景物的所需视域中的聚焦区域;-确定L中位于I上的点pL,其与目视平截头体的近平面的距离为d;-计算I上点q的位置,其中q是投影中心,以将梯形的底线和顶线分别映射到y=-1和y=+1,以及将pL映射到y=ξ上的点,其中ξ在-1和+1之间;以及-构造梯形的两条侧线,每条通过q,其中每条侧线在I的各侧上接触E的2D凸包。在一个实施例中,ξ=-0.6。所需点ξ可以基于把损耗量最小化的迭代过程来确定。当找到局部最小值时,迭代过程可以停止。迭代过程可以预先计算,并将结果存储在表中以作直接引用。该方法可以包括-确定光源的平截头体和目视平截头体之间的相交I;-计算I的顶点的中心点e;-限定通过眼睛的位置和e的中心线In,用于产生梯形。该方法可以包括限定新的聚焦区域,其位于目视平截头体的近平面和远平面之间,使这些平面在几何上靠近以紧密限制I。梯形变换可以包括将梯形的四个角映射到单位方形,其是正方形阴影映像的形状,或映射到一般的矩形,其是矩形阴影映像的形状。正方形或一般矩形的大小可以基于光源和眼睛的构形而改变。梯形变换可以仅将顶点的x和y值从光的后透视空间变换到梯形空间,而z值保持为在光的后透视空间中的值。该方法可以包括施加梯形变换以得到在梯形空间中的x,y和w值xT,yT和wT,以及计算在梯形空间中的z值zT,zT=zL·wTwL]]>其中zL和wL分别是在光的后透视空间中的z和w值。该方法可以包括-在阴影映像产生的第一通道中,将片段的坐标值从梯形空间反向变换到光的后透视空间L中,以得到第一变换片段,利用第一变换片段的平面等式来计算第一变换片段离L中光源的距离值zL1,将zL1加上偏移值,并将由此得到的值作为深度值存储在阴影映像中;-在阴影确定的第二通道中,通过投影纹理将指定到片段的纹理坐标从梯形空间反向变换到L中,从变换的纹理坐标得到第二变换片段,利用第二变换片段的平面等式来计算第二变换片段离L中光源的距离值zL2,并基于阴影映像中存储的深度值和zL2的比较来确定片段是否位于阴影中。该方法可以包括-在阴影映像产生的第一通道中,-在顶点阶段期间,将顶点的坐标值变换到梯形空间中,并给顶点指定纹理坐标,其等于光的后透视空间中的顶点的坐标值,以及-在片段阶段期间,用片段的纹理坐标替换片段的深度,将深度加上偏移量,以及将由此得到的值作为深度值存储在阴影映像中;-在阴影确定的第二通道中,-在顶点阶段期间,将顶点的坐标值变换到眼睛的后透视空间中,并给顶点指定两个纹理坐标,第一个是光的后透视空间中的顶点的坐标值,第二个是梯形空间中顶点的坐标值,以及-在片段阶段期间,基于阴影映像中存储的深度值与基于片段的第一纹理坐标的值的比较,来确定片段的阴影,其中所述深度值作为基于片段的第二纹理坐标的索引。该方法可以包括-在阴影映像产生的第一通道中,将片段的坐标值从梯形空间反向变换到光的后透视空间L中,以得到第一变换片段,利用第一变换片段的平面等式来计算第一变换片段离L中光源的距离值zL1,将zL1加上偏移值,并将由此得到的值作为深度值存储在阴影映像中;-在阴影确定的第二通道中,-在顶点阶段期间,将顶点的坐标值变换到眼睛的后透视空间中,并给顶点指定两个纹理坐标,第一个是光的后透视空间中的顶点的坐标值,第二个是梯形空间中顶点的坐标值,以及-在片段阶段期间,基于阴影映像中存储的深度值与基于片段的第一纹理坐标的值的比较,来确定片段的阴影,其中所述深度值作为基于片段的第二纹理坐标的索引。该方法可以包括-在阴影映像产生的第一通道中,-在顶点阶段期间,将顶点的坐标值变换到梯形空间中,并给顶点指定纹理坐标,其等于光本文档来自技高网
...

【技术保护点】
一种在景物的计算机图形表示中实时阴影产生的方法,该方法包括:-基于景物的所需视域限定目视平截头体;-限定照明至少一部分景物的光源的位置;-产生梯形以在光的后透视空间L中的目视平截头体内估计区域E;-对梯形中的 物体施加梯形变换,以将其变换到梯形空间中,用于计算阴影映像;以及-利用计算的阴影映像确定物体或其部分是否位于景物的所需视域中的阴影中。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:陈朝成托比亚斯奥斯卡马丁
申请(专利权)人:新加坡国立大学
类型:发明
国别省市:SG[新加坡]

网友询问留言 已有1条评论
  • 来自[北京市电信互联网数据中心] 2015年01月04日 13:57
    梯形(trapezium)是指有一组对边平行的四边形平行的两边叫做梯形的底边在下面且较长的一条底边叫下底在上面且较短的一条底边叫上底另外两边叫腰夹在两底之间的垂线段叫梯形的高一腰垂直于底的梯形叫直角梯形两腰相等的梯形叫等腰梯形(isoscelestrapezium)等腰梯形是一种特殊的梯形其判定方法与等腰三角形判定方法类似梯形有不稳定性
    0
1