双线性过滤

下面讲下我对各种过滤得理解 可能有不对的地方 尤其是各项异性 ...每句都懂 合一起不懂..

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

消耗也在这里

原文地址:https://www.cnblogs.com/minggoddess/p/6728400.html