下面讲下我对各种过滤得理解 可能有不对的地方 尤其是各项异性 ...每句都懂 合一起不懂..
https://zh.wikipedia.org/wiki/%E5%90%84%E5%90%91%E5%BC%82%E6%80%A7%E8%BF%87%E6%BB%A4
目前理解的过滤是这样的
双线性过滤
bilinear filter
采样四个点 线性过滤
lerp 3次
double getBilinearFilteredPixelColor(Texture tex, double u, double v) {
u = u * tex.size - 0.5;
v = v * tex.size - 0.5;
int x = floor(u);
int y = floor(v);
double u_ratio = u - x;
double v_ratio = v - y;
double u_opposite = 1 - u_ratio;
double v_opposite = 1 - v_ratio;
double result = (tex[x][y] * u_opposite + tex[x+1][y] * u_ratio) * v_opposite +
(tex[x][y+1] * u_opposite + tex[x+1][y+1] * u_ratio) * v_ratio;
return result;
}
三线性过滤
tripile filter
在mipmap分级的地方 线性两层bilinear的结果 所以可以说采样8个点
lerp 7次
至于各向异性过滤...我猜是采样9个点...但那个wiki里面的公式明显不是这个意思.
anisotropic filter
等我之后理解理解再发
==========
你别猜了
https://www.cnblogs.com/minggoddess/p/10473878.html
消耗也在这里