Footprint assembly

from Wikipedia, the free encyclopedia

Footprint Assembly is an algorithm for anisotropic filtering of textures. The texture distortion can be calculated in any direction. In addition, the algorithm can be easily combined with techniques such as MIP mapping , bilinear or trilinear filtering or also integral images (summed area tables).

Footprint

A footprint is the projection of a pixel into the coordinate system of the texture. The texture is assumed to span a flat surface (this is always the case with triangles ). The footprint is then a convex square . The more precisely the color value of the footprint can be calculated, the better the resulting image will be. In order to save computational effort, the footprint is only approximated in the 'footprint assembly'.

Construction of a footprint

In the case of footprint assembly , the footprint is assumed to be a parallelogram for the sake of simplicity . For this purpose, the pixel center is projected into the texture coordinates and indicates the center of the parallelogram. The vectors that span the pixel along the two main axes are also projected into the texture coordinate system. You now stretch the parallelogram.

The parallelogram is also often referred to as a footprint.

algorithm

The parallelogram that approximates the footprint is calculated. The center is called p.

FootprintAssembly2.svg

The shorter of the two edge vectors indicates the edge length of squares from which the footprint is to be calculated. The squares can be calculated with isotropic filters (mostly MIP mapping with bilinear filters ). The longer of the two vectors indicates a path along which the square areas are to be summed.

FootprintAssembly3.png

The number of squares is determined by the quotient of the vector lengths of the longer by the shorter vector and rounded to the nearest power of two. The power of two makes it easier to divide the sum using right shifts. Then a step vector is constructed that results from the longer vector if it is also scaled. The points at which are to be scanned result from with . At these points as the center, the color value of one of the squares is calculated. The color values ​​are summed up and divided by the number . The result is the approximation of the footprint color value and the texture value for the pixel.

Web links