http://en.wikipedia.org/wiki/Texture_atlas
In realtime computer graphics, a texture atlas is a large image, or "atlas" which contains many smaller sub-images, each of which is a texture for some part of a 3D object. The sub-textures can be rendered by modifying the texture coordinates of the object's uvmap on the atlas, essentially telling it which part of the image its texture is in. In an applicationwhere many small textures are used frequently, it is often more efficient to store the textures in a texture atlas which is treated as a single unit by the graphics hardware. In particular, because there are less rendering state changes by binding once, it can be faster to bind one large texture once than to bind many smaller textures as they are drawn.
For example, a tile-based game would benefit greatly in performance from a texture atlas.
Atlases can consist of uniformly-sized sub-textures, or they can consist of textures of varying sizes (usually restricted to powers of two). In the latter case, the program must usually arrange the textures in an efficient manner before sending the textures to hardware. Manual arrangement of texture atlases is possible, and sometimes preferable, but can be tedious. If using mipmaps, care must be taken to arrange the textures in such a manner as to avoid sub-images being "polluted" by their neighbours.
[edit]See also
[edit]External links
- Texture Atlas Whitepaper - A whitepaper by NVIDIA which explains the technique.
- Texture Atlas Tools - Tools to create texture atlases semi-manually.
- TexturePacker - Commercial texture atlas creator for game developers.
- Texture Atlas Maker - Open source texture atlas utility for 2D OpenGL games.
- Practical Texture Atlases - A guide on using a texture atlas (and the pros and cons).
- SpriteMapper - Open source texture atlas (sprite map) utility including an Apache Ant task.