Glossary 3D Game Graphics / Term
Filtering is a method to determine the color of a pixel based on texture maps. When you get very close to a polygon the texture map does not have enough information to determine the real color of each pixel on the screen so through interpolation (a technique of using information of the real pixels surrounding the unknown pixel to determine its color based on mathematical averages) the correct pixel is calculated. Funny enough filtering blurs the image to improve quality; however, filtering advanced filtering techniques will sometimes give the whole game a rather vague. A good example of this are the monsters in Quake. When you get close they will look rather blurred and unrealistic.
In essence filtering is OK for texture maps that are vague (Texture maps of roads, floors, and walls tend to be ideal), but it completely destroys texture maps that use very strict differences of color (faces, computer consoles, and text are sometimes blured beyond recognition.) Like a chess-board pattern this has very strict changes from white to black. When using interpolation the whole thing may end up looking gray which is not what you want.
Following are some methods of filtering starting (from the worst quality to best) Point Sampled filtering Bilinear filtering Trilinear filtering.
Filtering is a method to determine the color of a pixel based on texture maps. When you get very close to a polygon the texture map hasn't got enough info to determine the real color of each pixel on the screen. The 3 methods describe ways of determining the color of these pixels. The basic idea is interpolation, this is a technique of using information of the real pixels surrounding the unknown pixel to determine its color based on mathematical averages.
Point filtering will just copy the color of the nearest real pixel, so it will actually enlarge the real pixel. This creates a blocky effect and when moving this blocks can change color quickly creating weird visual effects. This technique is always used in software 3D engines because it requires very little calculation power.
Bilinear filtering uses four adjacent texels (real info) to interpolate the output pixel value (unknown). This results in a smoother textured polygon as the interpolation filters down the blockiness associated with point sampling. The disadvantage of bilinear texturing is that it results in a fourfold increase in texture memory bandwidth.
Trilinear filtering will combine Bilinear filtering in 2 Mip levels. This however results in 8 texels being needed so memory bandwidth is multiplied by 2. This usually means that the memory will suffer serious bandwidth problems so trilinear filtering is usually used as an option.
Anistropic Filtering addresses quadrilateral shaped and angled areas of a texture image. A sharper image is accomplished by interpolating and filtering multiple samples from one or more MIP-maps to better approximate very distorted textures. This is the next level of filtering after trilinear filtering. While it will create the best looking images it comes at a serious price and should only be used when your system can handle it. If your system is performing slowly try turning on and off Anistropic filtering for better perfomance.
Permanent link Filtering - Creation date 2020-06-21