Difference between revisions of "Texture formats"
EricChadwick (Talk | contribs) (more info) |
EricChadwick (Talk | contribs) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
In game development, artists may have several sets of texture files: | 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 | + | # Source files, native to an image editor such as Photoshop's PSD, stores all editing information such as layers, and high [[BitDepth]]s. |
− | # Preview files, for previewing on 3D models or importing into a level editor, does not store layers, usually only [[ | + | # Preview files, for previewing on 3D models or importing into a level editor, does not store layers, usually only [[BitDepth|8 bit]]. |
− | # Runtime files, flattened and compressed files used directly by a game engine, often lossy so not good for editing. | + | # Runtime files, flattened and [[Texture_Compression|compressed]] files used directly by a game engine, often lossy so not good for editing. |
== Source Formats == | == Source Formats == | ||
Line 8: | Line 8: | ||
* [[EXR]] | * [[EXR]] | ||
− | |||
* [[PSD]] | * [[PSD]] | ||
* [[TIF]] | * [[TIF]] | ||
== 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. | + | 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. Some of these are [[Lossy]] formats, meaning they add noise or other artifacts when saved. |
* [[BMP]] | * [[BMP]] | ||
− | * [[GIF]] | + | * [[GIF]] (lossy, only 256 colors) |
− | * [[JPG]] | + | * [[JPG]] (lossy) |
* [[PNG]] | * [[PNG]] | ||
* [[TGA]] | * [[TGA]] |
Latest revision as of 07:43, 25 September 2017
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 BitDepths.
- Preview files, for previewing on 3D models or importing into a level editor, does not store layers, usually only 8 bit.
- 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. Some of these are Lossy formats, meaning they add noise or other artifacts when saved.
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.