Mipmap

In 3D computer graphics texture mapping, MIP maps (also mipmaps) are pre-calculated, optimized collections of bitmap images that accompany a main texture, intended to increase rendering speed and reduce artifacts. They are widely used in 3D computer games, flight simulators and other 3D imaging systems. The technique is known as mipmapping.

How it works


An example of mipmapping
Each bitmap image of the mipmap set is a version of the main texture, but at a certain reduced level of detail. Although the main texture would still be used when the view is sufficient to render it in full detail, the renderer will switch to a suitable mipmap image (or in fact, interpolate between the two nearest) when the texture is viewed from a distance, or at a small size. Rendering speed increases since the number of texture pixels ("texels") being processed can be much lower than with simple textures. Artifacts are reduced since the mipmap images are effectively already anti-aliased, taking some of the burden off the real-time renderer. If the texture has a basic size of 256 by 256 pixels (textures are typically square and have side lengths equal to a power of 2), then the associated mipmap may contain a series of 10 images, each half the size of the previous one: 128×128 pixels, 64×64, 32×32, 16×16, 8×8, 4×4, 2×2, 1×1 (a single pixel). If, for example, a scene is rendering this texture in a space of 40×40 pixels, then an interpolation of the 64×64 and the 32×32 mipmaps would be used. The simplest way to generate these textures is by successive averaging, however more sophisticated algorithms (perhaps based on signal processing and Fourier transforms) can also be used. The increase in storage space required to store all of theses mipmaps for a texture is a third, because the sum of the areas 1/4 + 1/16 + 1/256 + ... converges to 1/3. (This assumes compression is not being used.) This is a major advantage to this selection of resolutions. However, in many instances, the filtering should not be uniform in each direction (it should be anisotropic, as opposed to isotropic), and a compromise resolution is used. If a higher resolution is used, the cache coherence goes down, and the aliasing is increased in one direction, but the image tends to be clearer. If a lower resolution is used, the cache coherence is improved, but the image is overly blurry, to the point where it becomes difficult to identify. To help with this problem, nonuniform mipmaps (also known as rip-maps) are sometimes used. With a 1616 base texture map, the rip-map resolutions would be 168, 164, 162, 161, 816, 88, 84, 82, 81, 416, 48, 44, 42, 41, 216, 28, 24, 22, 21, 116, 18, 14, 12 and 11. The unfortunate problem with this approach is that rip-maps require four times as much memory as the base texture map, and so rip-maps have been very unpopular. To reduce the memory requirement, and simultaneously give more resolutions to work with, summed-area tables were conceived. Given a texture (t_{jk}), we can build a summed area table (s_{jk}) as follows. The summed area table has the same number of entries as there are texels in the texture map. Then, define
s_{mn}:=\sum _{1 \leq j \leq m,\ 1 \leq k \leq n} t_{jk}
Then, the average of the texels in the rectangle (a1,b1] × (a2,b2] is given by
s_{a_2b_2}-s_{a_1b_2}-s_{a_2b_1}+s_{a_1b_1} \over {(a_2-a_1)(b_2-b_1)}
However, this approach tends to exhibit poor cache behavior. Also, a summed area table needs to have wider types to store the partial sums s_{jk} than the word size used to store t_{jk}. For these reasons, there isn't any hardware that implements summed-area tables today. A compromise has been reached today, called anisotropic mip-mapping. In the case where an anisotropic filter is needed, a higher resolution mipmap is used, and several texels are averaged in one direction to get more filtering in that direction. This has a somewhat detrimental effect on the cache, but greatly improves image quality.

Origin

Mipmapping was invented by Lance Williams in 1983 and is described in his paper Pyramidal parametrics. From the abstract: "This paper advances a 'pyramidal parametric' prefiltering and sampling geometry which minimizes aliasing effects and assures continuity within and between target images." The "pyramid" can be imagined as the set of mipmaps stacked on top of each other. The letters "MIP" in the name comes from the Latin phrase multum in parvo, meaning "much in a small space".

See also

 

<< PreviousWord BrowserNext >>
heiner goebbels
grove city college
corner gas
magisterium
kevin and kell
pool hustling
walid jumblatt
larry merchant
positional notation
bakuryuha
cinchonism
hate group
nuristani
james kochalka
bwiti
gay men's health crisis
chamaecyparis
dogging
green line (demarcation line)
the international journal of psychiatry
columnist
black throated green warbler
pulp
erik erikson
crystal boys
root canal
vincent saint john
ej
du
banu abd shams
'abd shams
ramsey lewis, jr.
tamar
ruby vroom
abu sufiyan ibn harb
ford mainline
kasumi
hattic language
british 51st (highland) division
canadian prairies
kaba
51st division
cree summer
fire baptized holiness church of god of the americas