Texture atlas

{{Short description|Large image containing an atlas of sub-images}}

In computer graphics, a texture atlas (also called a spritesheet or an image sprite in 2D game development) is an image containing multiple smaller images, usually packed together to reduce overall dimensions.{{cite web |title=SDK White Paper Improve Batching Using Texture Atlases |url=http://download.nvidia.com/developer/NVTextureSuite/Atlas_Tools/Texture_Atlas_Whitepaper.pdf |publisher=Nvidia |accessdate=16 October 2018}} An atlas can consist of uniformly-sized images or images of varying dimensions. A sub-image is drawn using custom texture coordinates to pick it out of the atlas.

Benefits

In an application where 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. This reduces both the disk I/O overhead and the overhead of a context switch by increasing memory locality. Careful alignment may be needed to avoid bleeding between sub textures when used with mipmapping and texture compression.

In web development, images are packed into a sprite sheet to reduce the number of image resources that need to be fetched in order to display a page.{{cite web |title=Implementing image sprites in CSS |url=https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Images/Implementing_image_sprites_in_CSS |website=Mozilla Development Network}}

Gallery

File:Tile set.png|A texture atlas for a video game

File:Texture Atlas.png|A texture atlas of glyphs

File:BOE tile set.png|Sprite sheet for the video game Blades of Exile

File:Makehuman import.jpg|A human model and "skin" from the MakeHuman project, as viewed in the program, Blender

References

{{reflist}}

=Explanations and algorithms=

  • [http://download.nvidia.com/developer/NVTextureSuite/Atlas_Tools/Texture_Atlas_Whitepaper.pdf Texture Atlas Whitepaper] - A whitepaper by NVIDIA which explains the technique.
  • [https://www.gamedeveloper.com/programming/practical-texture-atlases Practical Texture Atlases] - A guide on using a texture atlas (and the pros and cons).
  • [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.695.2918 A thousand ways to pack the bin] - Review and benchmark of the different packing algorithms
  • [http://www.codeandweb.com/what-is-a-sprite-sheet Sprite Sheets - Essential Facts Every Game Developer Should Know] - Funny video explaining the benefits of using sprite sheets
  • [https://www.sharetextures.com/blog/texture_atlas What is Texture Atlas?] - Blog post that explain atlas textures and their usage areas

=Tools=

  • [https://www.codeandweb.com/texturepacker TexturePacker] - sprite sheet packer with graphical user interface and tons of options. Works with almost all game engines.
  • [https://libgdx.com/wiki/tools/texture-packer LibGDX texture packer] - Open source texture packer utility from libGDX
  • [http://www.codeproject.com/Articles/330742/Texture-Atlas-Maker Texture Atlas Maker] - Open source texture atlas utility for 2D OpenGL games.
  • [http://opensource.cego.dk/spritemapper/ SpriteMapper] - Open source texture atlas (sprite map) utility including an Apache Ant task.
  • [https://www.sharetextures.com/atlases/ CC0 Atlas Textures] - Copyright-free atlas texture library
  • [https://gitlab.com/bztsrc/spratlas SprAtlas] - simple Free and Open Source atlas packer with multiple options

Category:3D rendering

Category:Computer graphics