Difference between revisions of "Texture formats"

From polycount
Jump to: navigation, search
m
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Texture Formats =
+
In game development, artists may have several sets of texture files:  
todo: technical info: dimensions, bit depth, channels, pixel/texel, format(and page for format types).
+
# 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 [[BitDepth|8 bit]].
 +
# Runtime files, flattened and [[Texture_Compression|compressed]] files used directly by a game engine, often lossy so not good for editing.
  
== Standard Formats ==
+
== Source Formats ==
In development, artists may have two sets of files: A format native to their image editor such as Photoshop's PSD, and an interim format for previewing work in a 3d application before exporting final images to a game-ready format.
+
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).
  
* [[BMP]]
 
 
* [[EXR]]
 
* [[EXR]]
* [[GIF]]
 
* [[HDR]]
 
* [[JPG]]
 
* [[PNG]]
 
 
* [[PSD]]
 
* [[PSD]]
 
* [[TIF]]
 
* [[TIF]]
* [[TDL]]
+
 
 +
== 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. Some of these are [[Lossy]] formats, meaning they add noise or other artifacts when saved.
 +
* [[BMP]]
 +
* [[GIF]] (lossy, only 256 colors)
 +
* [[JPG]] (lossy)
 +
* [[PNG]]
 
* [[TGA]]
 
* [[TGA]]
 
+
* [[TIF]]
  
 
== Runtime Formats ==
 
== Runtime Formats ==
These are texture file formats that are used at runtime (in-game).
+
Runtime texture formats are used directly by the game engine.  
  
Texture file formats come in two basic categories: those that are used at runtime (in-game), versus those that are used by artists in general but have to be converted to be used "live" in-game.
+
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.
  
To save memory, runtime textures often use compression. However typically a few very specific compression formats are supported in hardware. This means if you use they must be uncompressed when they're loaded off the hard drive or disc and into video memory to be used in-game, which in turn increases their memory cost. Hardware-supported compression saves memory, allowing the artist to use larger or more textures.
+
* [[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.
  
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.
+
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.
  
* [[DDS]] is a versatile format with many features and is very common in PC games.
+
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.
* [[3Dc]] and [[DXT]] and [[S3TC]] are compression methods most commonly found within the [[DDS]] format.
+
* [[BMP]] is uncommonly used for 3d assets due to lack of compression.
+
* [[JPG]] is notable for ease of use and compression.
+
* [[PNG]]
+
* [[TGA]] is rarely used in modern games
+
* [[PVR]]
+
* [[TPL]]
+
* [[VTF]] Valve Texture Format, used in Source Engine games.
+
  
 +
----
 
[[Category:Texturing]]
 
[[Category:Texturing]]

Latest revision as of 07:43, 25 September 2017

In game development, artists may have several sets of texture files:

  1. Source files, native to an image editor such as Photoshop's PSD, stores all editing information such as layers, and high BitDepths.
  2. Preview files, for previewing on 3D models or importing into a level editor, does not store layers, usually only 8 bit.
  3. 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.


Personal tools
Namespaces

Variants
Actions
Navigation
Tools