Difference between revisions of "Texture formats"
EricChadwick (Talk | contribs) (removed redundant title, moved todo to Discussion page, better headings, simplified text.) |
EricChadwick (Talk | contribs) (more info) |
||
Line 5: | Line 5: | ||
== Source Formats == | == Source Formats == | ||
+ | Source texture formats are used be artists because these make it easier to edit the textures. These formats do not lose any quality when saved multiple times (lossless compression or none at all), they save all the layers and channels (makes editing easier), and they support higher bit depths (more colors means higher quality and easier editing). | ||
+ | |||
* [[EXR]] | * [[EXR]] | ||
* [[HDR]] | * [[HDR]] | ||
Line 11: | Line 13: | ||
== Preview Formats == | == Preview Formats == | ||
+ | Preview textures are only needed because most 3d tools do not properly support "source" texture formats. Preview files are usually not edited directly, they are always saved from source files. We have several [[PhotoshopTools#Export_Tools|Photoshop tools for exporting]] preview files quickly. | ||
* [[BMP]] | * [[BMP]] | ||
* [[GIF]] | * [[GIF]] | ||
Line 19: | Line 22: | ||
== Runtime Formats == | == Runtime Formats == | ||
− | + | Runtime texture formats are used directly by the game engine. | |
+ | |||
+ | Most of these are compressed to conserve memory and bandwidth, which means they lose some image quality. It is rarely recommended to edit runtime textures; source files should be used instead. | ||
* [[3Dc]] | * [[3Dc]] | ||
Line 29: | Line 34: | ||
* [[VTF]] Valve Texture Format, used in Source Engine games. | * [[VTF]] Valve Texture Format, used in Source Engine games. | ||
− | + | Certain specific compression formats are supported in hardware, which means they stay compressed as they are sent to the video card, which speeds up memory bandwidth and can save a significant amount of space in memory. | |
Runtime formats also commonly have pre-created [[Mipmap|mip levels]] stored in them, so the game engine doesn't have to create the mips on load, which helps to reduce the time it takes to load the game level. | Runtime formats also commonly have pre-created [[Mipmap|mip levels]] stored in them, so the game engine doesn't have to create the mips on load, which helps to reduce the time it takes to load the game level. |
Revision as of 13:06, 16 March 2015
In game development, artists may have several sets of texture files:
- Source files, native to an image editor such as Photoshop's PSD, stores all editing information such as layers, and high bit depths.
- Preview files, for previewing on 3D models or importing into a level editor, does not store layers, usually only 8bpp.
- Runtime files, flattened and compressed files used directly by a game engine, often lossy so not good for editing.
Source Formats
Source texture formats are used be artists because these make it easier to edit the textures. These formats do not lose any quality when saved multiple times (lossless compression or none at all), they save all the layers and channels (makes editing easier), and they support higher bit depths (more colors means higher quality and easier editing).
Preview Formats
Preview textures are only needed because most 3d tools do not properly support "source" texture formats. Preview files are usually not edited directly, they are always saved from source files. We have several Photoshop tools for exporting preview files quickly.
Runtime Formats
Runtime texture formats are used directly by the game engine.
Most of these are compressed to conserve memory and bandwidth, which means they lose some image quality. It is rarely recommended to edit runtime textures; source files should be used instead.
- 3Dc
- DDS Direct Draw Surface format, which can contain uncompressed, paletted, and compressed variants.
- DXT DirectX Texture format.
- PVR
- S3TC
- TPL
- VTF Valve Texture Format, used in Source Engine games.
Certain specific compression formats are supported in hardware, which means they stay compressed as they are sent to the video card, which speeds up memory bandwidth and can save a significant amount of space in memory.
Runtime formats also commonly have pre-created mip levels stored in them, so the game engine doesn't have to create the mips on load, which helps to reduce the time it takes to load the game level.