【技术实现步骤摘要】
纹理滤波
[0001]本公开涉及用于在计算机图形系统内执行纹理滤波的技术。
技术介绍
[0002]在计算机图形学中,纹理化通常用于向待渲染的场景内的对象添加表面细节。纹理通常被存储为图像,可对这些图像进行访问以返回正在处理的像素的颜色值。为了获得像素的纹理颜色值,可确定纹理的多个纹理像素的值。这可以被称为对纹理重采样或对纹理进行采样。然后可以对采样的纹理像素值进行滤波以获得像素的最终纹理像素值。
[0003]执行重采样的原因是,由于纹理在图像内投影到3D几何上,通常渲染图像的单个像素不能精确映射到纹理的单个纹理像素。如下面更详细地描述的,对于描绘纹理的相对较近视图的纹理像素,每个像素都可以与映射到纹理的相对较小的区域(例如,覆盖零或一个纹理像素)的覆盖区域(footprint)相关联,而对于描绘纹理的相对远处的纹理像素,每个像素可以与映射到纹理的相对较大的区域(例如,覆盖许多(例如,两个或更多个)纹理像素)的覆盖区域相关联。
[0004]一种执行纹理重采样的方法是通过MIP映射。存储为MIP映射的纹理包括图像序列,其中每个图像都是基本纹理的分辨率逐渐降低的表示。MIP映射用于通过离线执行纹理的一些重采样来提高渲染速度。MIP映射100的示意图在图1中示出。图像序列102至108中的每个连续图像是该序列中先前图像的宽度和高度的一半(即,分辨率的一半)。这些图像102至108中的每个图像都可以被称为“MIP映射级别”或“细节级别”(LOD),并且每个图像都表示相同的基本纹理,但分辨率不同。尽管图1中所示的 ...
【技术保护点】
【技术特征摘要】
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.一种对屏幕空间中的采样点执行纹理滤波的方法,所述方法包括:确定是否满足指示待执行各向同性滤波的一组各向异...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。