MipMap Filtering in 3dsmax


OpenGL, Texel Lookup: Nearest, MipMap
Lookup: None 
The texture is taken as is (256x256). The screen
pixel shows the nearest texel found in the texture. As the texels go
away from the camera, the nearest texel taken to fill in the screen
pixel might not be the right choice. Notice the dotted appearance on the
left and right side of the plane. Sometimes a black texel is taken,
sometimes a white one... 


OpenGL, Texel Lookup: Linear , MipMap
Lookup: None 
In this case, the texel chosen for every screen
pixel is calculated by linear interpolation between the possible
candidates using the original 256x256 texture. Notice that in the
closeup area, the central black line is perfectly smooth on both sides
(compare to Nearest/None!), but as it gets farther, it gets unprecise. 


OpenGL, Texel Lookup: Nearest , MipMap
Lookup: Nearest 
This is a perfect demonstration of pure
mipmapping without any interpolation. What you see here are decresing
resolution textures (256x256, 128x128, 64x64, 32x32, 16x16 and 8x8) used
with increasing distance. Still, the next possible texel is used for
each screen pixel, without any interpolation. 


OpenGL, Texel Lookup: Linear , MipMap
Lookup: Nearest 
Very similar to the previous, but here the texel
is chosen by linear interpolation between the closest texels around the
screen pixel to be shaded. This smooths the line in horizontal
direction, but still leaves the vertical borders visible.(where the
texture resolution changes) 


OpenGL, Texel Lookup: Nearest , MipMap
Lookup: Linear 
This is exactly the opposite of the above example
 there is no linear interpolation between the texels of a single
texture resolution, but there is linear interpolation between the
textures with different resolution! So the line is blurred vertically,
making the change of resolution less noticeable, but without a
horizontal blur. 


OpenGL, Texel Lookup: Linear , MipMap
Lookup: Linear 
This is the best quality OpenGL can provide in
3dsmax viewports. The texels are linearly interpolated inside a mipmap
level texture with the same resolution, AND between texture resolution
levels, giving a blur in both the horizontal and vertical direction.
Compare this to the Pyramidal Filtering in 3dsmax and you will notice
the similarity! 


Scanline, Pyramidal filtering, equivalent
to (Linear/Linear) 
This is the result of the scanline rendering with
Pyramidal filtering. Compare to the previous image! 


Scanline, Summed Area filtering, no
equivalent in OpenGL viewports. 
This is how you would like it to be... Precise
and smooth. 


