纹理滤波制造技术

技术编号:28136745 阅读:23 留言:0更新日期:2021-04-21 19:07
本发明专利技术涉及纹理滤波。提供了一种执行各向异性纹理滤波以在屏幕空间中的采样点处施加纹理的方法,包括:计算用于配置滤波器以对该采样点执行纹理滤波的纹理滤波器参数;以及使用具有由所述纹理滤波器参数确定的纹理空间中的覆盖区域的滤波内核对该采样点进行纹理滤波,其中计算所述纹理滤波器参数的步骤包括:生成第一对屏幕空间基向量和第二对屏幕空间基向量;计算第一对纹理空间基向量和第二对纹理空间基向量;确定最大比例因子和最小比例因子的屏幕空间主轴之间的角位移;生成纹理空间主轴;并且计算所述纹理滤波器参数。并且计算所述纹理滤波器参数。并且计算所述纹理滤波器参数。

【技术实现步骤摘要】
纹理滤波


[0001]本公开涉及用于在计算机图形系统内执行纹理滤波的技术。

技术介绍

[0002]在计算机图形学中,纹理化通常用于向待渲染的场景内的对象添加表面细节。纹理通常被存储为图像,可对这些图像进行访问以返回正在处理的像素的颜色值。为了获得像素的纹理颜色值,可确定纹理的多个纹理像素的值。这可以被称为对纹理重采样或对纹理进行采样。然后可以对采样的纹理像素值进行滤波以获得像素的最终纹理像素值。
[0003]执行重采样的原因是,由于纹理在图像内投影到3D几何上,通常渲染图像的单个像素不能精确映射到纹理的单个纹理像素。如下面更详细地描述的,对于描绘纹理的相对较近视图的纹理像素,每个像素都可以与映射到纹理的相对较小的区域(例如,覆盖零或一个纹理像素)的覆盖区域(footprint)相关联,而对于描绘纹理的相对远处的纹理像素,每个像素可以与映射到纹理的相对较大的区域(例如,覆盖许多(例如,两个或更多个)纹理像素)的覆盖区域相关联。
[0004]一种执行纹理重采样的方法是通过MIP映射。存储为MIP映射的纹理包括图像序列,其中每个图像都是基本纹理的分辨率逐渐降低的表示。MIP映射用于通过离线执行纹理的一些重采样来提高渲染速度。MIP映射100的示意图在图1中示出。图像序列102至108中的每个连续图像是该序列中先前图像的宽度和高度的一半(即,分辨率的一半)。这些图像102至108中的每个图像都可以被称为“MIP映射级别”或“细节级别”(LOD),并且每个图像都表示相同的基本纹理,但分辨率不同。尽管图1中所示的MIP映射级别一般为正方形,但一般不必如此,也不必是二维的。
[0005]为了使用MIP映射渲染图像,可使用三线性滤波。三线性滤波包括两个双线性滤波操作的组合,然后是线性插值(或混合)。为了以特定分辨率(或细节级别)渲染图像,双线性滤波用于从两个最接近的MIP映射级别中的每一个MIP映射级别(即,分辨率比所要求的分辨率高的级别,以及分辨率比所要求的分辨率低的级别)重构连续图像,然后线性插值(或混合)用于产生处于中间的所需分辨率的图像。
[0006]例如,再次参考图1,为了在空间位置(x,y)处以高于图像104的分辨率(res
104
)但低于图像106的分辨率(res
106
)的分辨率(res)对MIP映射进行采样,滤波(例如,双线性插值)用于根据两个图像(或MIP映射级别)104和106中的每一个图像重构空间位置(x,y)处的相应的纹理值,然后通过在两个重构纹理值之间进行线性插值来生成所需分辨率(res)的结旋纹理值。
[0007]尽管对MIP映射的纹理进行三线性滤波可以帮助减少渲染图像中的视觉伪影,但仍然存在对成角度倾斜远离观察者(即,远离图像平面)的表面的纹理欠采样的缺点。这种欠采样通常将表现为图像模糊,因为实施方式保守地选择较低分辨率的重构来避免出现更多令人不快的混叠伪影(诸如高频闪烁)。
[0008]为了解决此问题,可执行各向异性纹理滤波。各向异性纹理滤波识别出纹理的采
样率,该采样率取决于从屏幕空间(其中描绘了图像并且定义了像素坐标)到纹理空间(其中描绘了纹理并且定义了纹理像素坐标)的映射,并且是屏幕空间中行进方向的函数。换句话讲,最佳纹理采样率在屏幕空间中沿不同的行进方向或轴可能不同。在这种情况下,屏幕空间和纹理空间之间的映射可以说成是各向异性的。各向异性映射的一个示例是水平面附近的平面纹理表面的3D投影,或者是将纹理施加于场景中与视点成显著大的角度的表面的任何其他情况。
[0009]对于各向异性纹理映射,映射到屏幕空间中的像素的纹理空间中的采样内核沿纹理空间中的特定轴线延长,该轴线的方向取决于屏幕空间和纹理空间之间的映射。这在图2中示意性地示出。
[0010]图2示出了由具有在图像空间中定义的坐标的像素形成的图像200,以及由具有在纹理空间中定义的坐标的纹理像素形成的纹理202。图像200包括对象204,该对象的表面细节由纹理202指定,即,纹理202映射到对象204的表面。为了清楚起见,已经省略了图像200内的其余对象。对象204在图像200内处于倾斜视角。因此,在映射到纹理空间的情况下,未保持图像200内的纹理映射像素的覆盖区域的形状。数字206表示圆形的图像空间中的像素覆盖区域,并且数字208表示纹理像素空间中对应的像素覆盖区域。可以看出,覆盖区域在纹理空间中已经延长以形成椭圆,使得它是各向异性的。一般来讲,在图像空间中具有圆形覆盖区域的像素到纹理空间的映射可以用椭圆近似,只要纹理映射本身可以通过像素原点的仿射映射近似即可。在此,需注意,关于像素使用的术语“覆盖区域”不一定指显示装置中像素的物理形状,而可能是指用于构成该像素的最终像素值的像素滤波器的面积。因此,可以说像素在纹理空间中的覆盖区域相当于该像素在纹理空间中的采样内核;即,纹理空间中的覆盖区域标识待采样和待滤波的纹理像素以形成像素的纹理颜色值。
[0011]尽管上面已经在投影的上下文中说明了具有椭圆形覆盖区域的纹理映射的近似,对于不对应于典型投影的纹理映射,诸如对于可以在能够定义任意映射的现代可编程着色器体系结构内构建的那些纹理映射,该近似可能仍然有效。
[0012]可以理解的是,纹理滤波的质量将取决于用于执行滤波的采样内核。在各向异性滤波的情况下,滤波的质量将取决于纹理空间中采样内核的尺寸和取向;例如,如旋所使用的采样内核的取向与纹理映射的各向异性方向不紧密对准,则纹理可能因此在一个方向上过采样,并且在另一个方向上欠采样。

技术实现思路

[0013]提供本
技术实现思路
是为了介绍在以下详细描述中进一步描述的一些概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0014]提供一种执行各向异性纹理滤波的方法,以在屏幕空间中的采样点处施加纹理,该方法包括:
[0015]计算纹理滤波器参数,以用于配置滤波器以对采样点执行纹理滤波;以及
[0016]使用具有由纹理滤波器参数确定的纹理空间中的覆盖区域的滤波内核对采样点的纹理进行滤波,其中计算纹理滤波器参数的步骤包括:
[0017]生成第一对屏幕空间基向量和第二对屏幕空间基向量,该第一对屏幕空间基向量
和该第二对屏幕空间基向量相对于彼此旋转;
[0018]在屏幕空间和纹理空间之间的映射的局部近似的情况下,计算与变换到纹理空间的第一对屏幕空间基向量和第二对屏幕空间基向量相对应的第一对纹理空间基向量和第二对纹理空间基向量;
[0019]基于针对多对纹理空间基向量中的至少一对纹理空间基向量的向量大小之差,确定第一对屏幕空间基向量和第二对屏幕空间基向量中所选择的一对屏幕空间基向量与映射的局部近似的指示映射的最大比例因子和最小比例因子的屏幕空间主轴之间的角位移;
[0020]使用所确定的角位移和所选择的一对屏幕空间基向量来生成纹理空间主轴,该纹理空间主轴包括与映射的最大比例因子相关联的长轴和与本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种执行各向异性纹理滤波以在屏幕空间中的采样点处施加纹理的方法,所述方法包括:计算纹理滤波器参数,以用于配置滤波器以对所述采样点执行纹理滤波;以及使用具有由所述纹理滤波器参数确定的纹理空间中的覆盖区域的滤波内核对所述采样点的所述纹理进行滤波,其中计算所述纹理滤波器参数的步骤包括:生成第一对屏幕空间基向量和第二对屏幕空间基向量,所述第一对屏幕空间基向量和所述第二对屏幕空间基向量相对于彼此旋转;在屏幕空间和纹理空间之间的映射的局部近似的情况下,计算与变换到纹理空间的所述第一对屏幕空间基向量和所述第二对屏幕空间基向量相对应的第一对纹理空间基向量和第二对纹理空间基向量;基于针对多对纹理空间基向量中的至少一对纹理空间基向量的所述向量大小之差,确定所述第一对屏幕空间基向量和所述第二对屏幕空间基向量中所选择的一对屏幕空间基向量与所述映射的所述局部近似的指示所述映射的最大比例因子和最小比例因子的屏幕空间主轴之间的角位移;使用所确定的角位移和所选择的一对屏幕空间基向量来生成纹理空间主轴,所述纹理空间主轴包括与所述映射的所述最大比例因子相关联的长轴和与所述映射的所述最小比例因子相关联的短轴;以及使用所述长轴和所述短轴来计算所述纹理滤波器参数。2.如权利要求1所述的方法,其中使用所确定的角位移和所选择的一对屏幕空间基向量来生成所述纹理空间主轴的步骤包括:将所选择的一对屏幕空间基向量旋转所确定的角位移以生成屏幕空间主轴,以及将所述屏幕空间主轴变换到纹理空间以生成所述纹理空间主轴。3.如权利要求1或2所述的方法,其中所述第二对屏幕空间基向量相对于所述第一对屏幕空间基向量旋转45度。4.如任一项前述权利要求所述的方法,其中将具有相对于所述屏幕空间主轴的较小的角位移的所述一对屏幕空间基向量选择为所选择的一对屏幕空间基向量。5.如任一项前述权利要求所述的方法,其中将与在所述纹理空间对的向量之间的长度上具有最大差异的一对纹理空间基向量相对应的所述一对屏幕空间基向量选择为所选择的一对屏幕空间基向量。6.如任一项前述权利要求所述的方法,其中所述确定角位移包括:比较所述纹理空间基向量的大小之差,以确定每对屏幕空间基向量与所述屏幕空间主轴之间的所述角位移;以及选择相对于所述屏幕空间主轴的角位移较小的所述屏幕空间基向量作为所选择的对。7.如权利要求1至5中任一项所述的方法,其中所述确定角位移包括:针对每对纹理空间基向量,计算所述对的所述向量之间的大小之差;选择与在所述对的所述向量之间的大小上具有最大差值的一对纹理空间基向量相对应的所述屏幕空间基向量作为所选择的对;以及确定仅在所选择的一对屏幕空间基向量和所述屏幕空间主轴之间的所述角位移。8.如权利要求1至5中任一项所述的方法,其中所述确定角位移包括:
标识所述纹理空间基向量对,所述对纹理空间基向量中的任一个基向量的长度比另一个纹理空间基向量对的两个基向量的长度长或短;以及选择与所标识的纹理空间基向量对相对应的所述屏幕空间基向量作为所选择的对。9.如权利要求7或8所述的方法,其中当所述第一对屏幕空间基向量x1,y1是所选择的屏幕空间基向量对时,根据等式来确定所述角位移,并且当所述第二对屏幕空间基向量x2,y2为所选择的屏幕空间基向量对时,根据等式来确定所述角位移,其中θ是所选择的一对屏幕空间基向量和所述屏幕空间主轴之间的所述角位移,X1和Y1是屏幕空间基向量x1和y1的对应的纹理空间基向量对,并且X2和Y2是屏幕空间基向量x2和y2的对应的纹理空间基向量对。10.如任一项前述权利要求所述的方法,其中所述第一对纹理空间基向量是根据屏幕空间中采样点的2
×
2块的纹理坐标的有限差分而生成的,所述第一对纹理空间基向量中的每个基向量根据所述2
×
2块的对角采样点的纹理坐标差计算得出,其中所述第二对屏幕空间基向量根据所述第一对纹理空间基向量对沿屏幕空间中采样点的所述2
×
2块的水平和垂直方向的有限差分生成。11.如任一项前述权利要求所述的方法,其中使用所确定的角位移和所选择的一对屏幕空间基向量来生成所述纹理空间主轴的步骤包括:确定将所选择的一对屏幕空间基向量旋转到所述屏幕空间主轴上的旋转方向;计算:计算:其中ρ
minor
是所述纹理空间短轴,ρ
major
是所述纹理空间长轴,θ是所选择的屏幕空间基向量和屏幕空间主轴之间的所述角位移,如旋所选择的基为x1,y1,则ρ
min

max
∈X1,Y1,其中如旋|X1|2<|Y1|2,则ρ
min
=X1,ρ
max
=Y1,并且如旋|X1|2≥|Y1|2;,则ρ
min
=Y1,ρ
max
=X1并且如旋所选择的基为x2,y2,则ρ
min

max
∈X2,Y2,其中如旋|X2|2<|Y2|2,则ρ
min
=X2,ρ
max
=Y2并且如旋|X2|2≥|Y2|2,则ρ
min
=Y2,ρ
max
=X2。12.如任一项前述权利要求所述的方法,其中计算所述纹理功率器参数的步骤包括:计算细节级别(LOD)参数λ,所述细节级别参数指示针对所述采样点待滤波的所述纹理的MIP映射级别;以及计算各向异性LOD参数μ,所述各向异性LOD参数指示在所述LOD参数λ所指示的所述MIP映射级别中所述滤波器内核的所述覆盖区域。13.如权利要求12所述的方法,其中使用所述长轴和所述短轴来计算所述LOD参数λ;其中使用所述长轴来计算所述各向异性LOD参数μ;其中计算所述LOD参数λ的步骤包括对中间LOD参数施加限制,并且计算所述各向异性LOD参数μ的步骤包括将相同的限制施加于中间各向异性LOD参数;并且
其中所述LOD参数λ和中间各向异性LOD参数μ通过对相应的中间参数执行相同的一组计算来计算,使用所述长轴和所述短轴来计算所述参数λ的所述中间参数,以及使用所述长轴来计算所述各向异性参数μ的所述中间参数。14.一种对屏幕空间中的采样点执行纹理滤波的方法,所述方法包括:确定是否满足指示待执行各向同性滤波的一组各向异...

【专利技术属性】
技术研发人员:罗斯塔姆
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:

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

1