In
computer graphics
Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great de ...
, 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.
An atlas can consist of uniformly-sized images or images of varying dimensions.
A sub-image is drawn using custom
texture coordinates
A vertex (plural vertices) in computer graphics is a data structure that describes certain attributes, like the position of a point in 2D or 3D space, or multiple points on a surface.
Application to 3D models
3D models are most often represented ...
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
Graphics hardware is computer hardware that generates computer graphics and allows them to be shown on a display, usually using a graphics card (video card) in combination with a device driver to create the images on the screen.
Types
Gra ...
. This reduces both the disk
I/O overhead and the overhead of a context switch by increasing
memory locality
In computer science, locality of reference, also known as the principle of locality, is the tendency of a processor to access the same set of memory locations repetitively over a short period of time. There are two basic types of reference localit ...
. Careful alignment may be needed to avoid bleeding between sub textures when used with
mipmapping
In computer graphics, mipmaps (also MIP maps) or pyramids are pre-calculated, optimized sequences of images, each of which is a progressively lower resolution representation of the previous. The height and width of each image, or level, in the ...
and
texture compression
Texture compression is a specialized form of image compression designed for storing texture maps in 3D computer graphics rendering systems. Unlike conventional image compression algorithms, texture compression algorithms are optimized for random ac ...
.
In
web development
Web development is the work involved in developing a website for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing a simple single static page of plain text to complex web applications ...
, 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
Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
File:Texture Atlas.png, A texture atlas of glyph
A glyph () is any kind of purposeful mark. In typography, a glyph is "the specific shape, design, or representation of a character". It is a particular graphical representation, in a particular typeface, of an element of written language. A g ...
s
File:BOE tile set.png, Sprite sheet for the video game ''Blades of Exile
''Exile'' is a series of role-playing video games created by Jeff Vogel of Spiderweb Software. They were released as shareware titles for Macintosh and Windows systems. ''Exile III'' was also ported to Linux by a third party. There were four ...
''
File:Makehuman import.jpg, A human model and "skin
Skin is the layer of usually soft, flexible outer tissue covering the body of a vertebrate animal, with three main functions: protection, regulation, and sensation.
Other cuticle, animal coverings, such as the arthropod exoskeleton, have diffe ...
" from the MakeHuman
MakeHuman is a free and open source 3D computer graphics middleware designed for the prototyping of photorealistic humanoids. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.
Technology
...
project, as viewed in the program, Blender
A blender (sometimes called a mixer or liquidiser in British English) is a kitchen appliance, kitchen and laboratory appliance used to mix, crush, purée or emulsion, emulsify food and other substances. A stationary blender consists of a blender ...
References
External links
Explanations and algorithms
Texture Atlas Whitepaper- A whitepaper by
NVIDIA
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
which explains the technique.
Practical Texture Atlases- A guide on using a texture atlas (and the pros and cons).
A thousand ways to pack the bin- Review and benchmark of the different packing algorithms
Sprite Sheets - Essential Facts Every Game Developer Should Know- Funny video explaining the benefits of using sprite sheets
What is Texture Atlas?- Blog post that explain atlas textures and their usage areas
Tools
TexturePacker- sprite sheet packer with graphical user interface and tons of options. Works with almost all game engines.
LibGDX texture packer- Open source texture packer utility from libGDX
Texture Atlas Maker- Open source texture atlas utility for 2D OpenGL games.
SpriteMapper- Open source texture atlas (sprite map) utility including an
Apache Ant
Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java languag ...
task.
CC0 Atlas Textures- Copyright-free atlas texture library
3D rendering
Computer graphics