前言
当纹理贴到具体的像素上时,纹理中心不一定位置上刚好对应着像素坐标的中心,因此在贴图时会产生一定的偏差,会产生模糊错位等问题。这时我们就需要纹理的映射过程进行一定的处理时,这就是纹理过滤。
最近点采样(Nearest Point Sampling)
这是一种最简单的采样过滤方式,它对于纹理采样点texel与最终画面上的pixel不对应时,会采样离这个pixel最近的texel进行采样。这种方式一看就是简单粗暴的方式,实际效果也不是很理想。
双线性过滤(Bilinear)
与之前的最近点采样相比,双线性过滤在它的基础上,对每个pixel周围四个texel进行采样,根据离pixel的距离进行加权平均。这种方法比之前简单粗暴型好不少,但效果仍然不是很好
三线性过滤(Trilinear)
在双线性过滤中只选取了texel和pixel之间大小最接近的一层mipmap进行采样,而三线性则是分别对texel与pixel最接近的两层mipmap进行双线性采样然后再将这两层的结果进行线性插值。
Mipmap
mipmap就是针对不同大小的像素长宽按相同比例分别生成不同大小的纹理,如下图就是一张mipmap,这张图中分别有128X128,64X64,32X32,16X16,8X8,4X4,2X2,1X1,八张图,这就组成一个mipmap