Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Mipmap
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Mechanism== [[File:MipMap Example STS101.jpg|thumb|Example mipmap image storage: the principal image on the left is accompanied by filtered copies of reduced size.]] Each bitmap image of the mipmap set is a downsized duplicate of the main [[texture mapping|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, [[interpolation (computer graphics)|interpolate]] between the two nearest, if [[trilinear filtering]] is activated) when the texture is viewed from a distance or at a small size. Rendering speed increases since the number of texture pixels (''[[texel (graphics)|texels]]'') being processed per display pixel can be much lower for similar results with the simpler mipmap textures. If using a limited number of texture samples per display pixel (as is the case with [[bilinear filtering]]) then artifacts are reduced since the mipmap images are effectively already [[spatial anti-aliasing|anti-aliased]]. Scaling down and up is made more efficient with mipmaps as well. If the texture has a basic size of 256 by 256 pixels, then the associated mipmap set may contain a series of 8 images, each one-fourth the total area 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 either a scaled-up version of the 32Γ32 (without [[trilinear interpolation]]) or an interpolation of the 64Γ64 and the 32Γ32 mipmaps (with trilinear interpolation) 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 transform]]s) can also be used. {{Multiple image | image1=Mipmap illustration2.png | image2=Mipmap illustration1.png | footer=Showing each color channel of each level of an RGB mipmap as a separate plane (left) demonstrates that the whole mipmap forms a square of 4 times the area. As each plane requires {{frac|1|3}} the storage, mipmaps therefore require {{frac|4|3}} the memory; i.e., {{frac|1|3}} β 33% more. }} The increase in storage space required for all of these mipmaps is a third of the original texture, because the sum of the areas [[1/4 + 1/16 + 1/64 + 1/256 + β―]] converges to 1/3. In the case of an RGB image with three channels stored as separate planes, the total mipmap can be visualized as fitting neatly into a square area twice as large as the dimensions of the original image on each side (twice as large on each side is four times the original area - one plane of the original size for each of red, green and blue makes three times the original area, and then since the smaller textures take 1/3 of the original, 1/3 of three is one, so they will take the same total space as just one of the original red, green, or blue planes). This is the inspiration for the tag ''multum in parvo''.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)