title: What is Mipmapping in OpenGL?
body: <p>I have basic knowledge on interpolation: It is a method to estimate a value for a given position depending on its surrounding. So nearest neighbour interpolation is, depending on the given position P, to choose the nearest neighbour in the grid and copy its value(s). Given two grid points where P is inbetween, linear interpolation is a (linear) mixture of both values of the grid points. If P is right on the half position, 0.5 from the first value, and 0.5 of the second value are summed up to the resulting value. For two dimension this is called bilinear interpolation and for three dimensions trilinear interpolation.</p>
  
  <p>So I know that the Min Mag filters are used to define interpolation for e.g. OpenGL textures. E.g. on this page <a href="http://gregs-blog.com/2008/01/17/opengl-texture-filter-parameters-explained/" rel="nofollow">http://gregs-blog.com/2008/01/17/opengl-texture-filter-parameters-explained/</a> the following table is given:</p>
  
  <pre><code>Filter Combination                     | Bilinear | Bilinear | Mipmapping
  (MAG_FILTER / MIN_FILTER)              | (Near)   | (FAR)    |
  ---------------------------------------+----------+----------+------------
  GL_NEAREST / GL_NEAREST_MIPMAP_NEAREST | Off      | Off      | Standard
  GL_NEAREST / GL_LINEAR_MIPMAP_NEAREST  | Off      | On       | Standard
  GL_NEAREST / GL_NEAREST_MIPMAP_LINEAR  | Off      | Off      | Trilinear filtering
  GL_NEAREST / GL_LINEAR_MIPMAP_LINEAR   | Off      | On       | Trilinear filtering
  GL_NEAREST / GL_NEAREST                | Off      | Off      | None
  GL_NEAREST / GL_LINEAR                 | Off      | On       | None
  GL_LINEAR / GL_NEAREST_MIPMAP_NEAREST  | On       | Off      | Standard
  GL_LINEAR / GL_LINEAR_MIPMAP_NEAREST   | On       | On       | Standard
  GL_LINEAR / GL_NEAREST_MIPMAP_LINEAR   | On       | Off      | Trilinear filtering
  GL_LINEAR / GL_LINEAR_MIPMAP_LINEAR    | On       | On       | Trilinear filtering
  GL_LINEAR / GL_NEAREST                 | On       | Off      | None
  GL_LINEAR / GL_LINEAR                  | On       | On       | None
  </code></pre>
  
  <p>The same page explains that the Min Filter is for objects, smaller than the texture (far objects) and the Mag filter, for objects bigger than the texture (near objects). I though, given a 3D texture, the interpolation method should always be trilinear if GL_LINEAR is set to both filters.</p>