纹理映射的反走样技术

   在纹理映射中,常常产生走样。纹理映射涉及到将一纹理图案映射到不同大小的景物表面上,当各屏幕像素中的可见曲面区域与纹理像素的大小相匹配时,他们之间 形成一对一的映射。而当景物表面在平面上的投影区域较小时,位于一平面享受内的曲面区域映射到纹理平面上后可能覆盖多个纹理像素。因此,必须取这一区域上 纹理详述颜色的平均值作为当前平面像素内可见区域的平均纹理属性。如仍基于屏幕像素中心在纹理平面是那个的点做采样,则会导致严重的走样现象[4]

   纹理映射中的反走样有多种方法,如后置滤波法、前置滤波法等[1]。目前应用最广泛的是由Williams1983年提出的Mip-map技术[11]。这个方法可在平面像素的绘制过程中实现实时反走样。它的基本思想是以设当大小的正方形来近表达每一像素在纹理平面上的映射区域。如下图所示,并预先将纹理图像表达为具有不用分辨率的纹理数组,作为纹理查找表,其中低分辨率的图像由比它高一级分辨率图像取平均得到。

Williams简单地将低一级图像每边的分辨率取为高一级图像每边分辨率的二分之一。而同一级分辨率的纹理数组则由红、绿、蓝三个分量的纹理数组组成。

   由于纹理映射需要计算各屏幕像素在纹理空间中对应的纹理函数平均值,而Mip-map图事先已算出纹理平面上不同大小区域的纹理函数平均值并存放在映射表中,因此在不同的平面分辨率小球屏幕上一像素所对应的某个纹理区域的纹理含数据平均值只需查找Mip-map图映射表中个某个数组元素即可。这就是数据Mip-map图的用意所在。

那么在Mip-map如何查找呢?首先,很容易根据图像空间-景物空间-纹理空间的映射关系求得屏幕空间(x,y)-像素到纹理空间映射点的坐标(u,v)

那么,应该选取那一层呢?设平面空间一像素对应到纹理空间的4个角点构成的四边形最大变成d,当d=k,k = 0 ,1,...NK+1层Mip-map图映射表。

d!=k(整数),此时,视d更接近于哪个整数,即选取第int(d-0.5)+1Mip-map图映射表

posted @ 2008-04-08 12:02  nosaferyao  阅读(942)  评论(0编辑  收藏  举报