Many people know that images are usually stored in RGB
or RGBA
format. While this is true, the pixel data can take in a lot of different forms for a lot of reasons, the main 2 being: to reduce the amount resources (compression) or the program requiring more precise calculations (HDR
).
This article has a table containing useful information regarding the formats..
Telltale surface formats have their equivalent OpenGL formats for games newer than The Walking Dead
. For older ones, the directly use the ones from the original container (XENOS, Xbox 360 for example). If you are unsure in which format to save, this is the place that has a l
Softwares such as Paint.NET
, GIMP
, NVIDIA Texture Tool
or DirectX SDK (2010)
have labeled their options well enough. The download links are here. Paint.NET
or GIMP
will be more than enough.
More information about different types of textures can be found here.
Telltale Surface Format | Equivalent Format | Notes |
---|---|---|
RGBA8 | R8G8B8A8_UNORM or R8G8B8A8_UNORM_SRGB1 |
|
ARGB8 | R8G8B8A8_UNORM or R8G8B8A8_UNORM_SRGB1 |
|
BC12 | BC1_UNORM or BC1_UNORM_SRGB1 |
|
BC22 | BC2_UNORM or BC2_UNORM_SRGB1 |
|
BC32 | BC3_UNORM or BC3_UNORM_SRGB1 |
|
BC42 | BC4_UNORM |
|
BC52 | BC5_UNORM |
|
BC62 | BC6H_UF16 |
|
BC72 | BC7_UNORM or BC7_UNORM_SRGB1 |
|
ARGB16 | R16B16G16A16_UNORM |
|
RGB565 | R5G6B5_UNORM |
|
ARGB1555 | B5G5R5A1_UNORM | |
ARGB4 | R4G4B4A4_UNORM |
|
ARGB2101010 | R10G10B10A2_UNORM | Requires swizzling the red and blue channels. |
R16 | R16_UNORM | |
RG16 | R16G16_UNORM | |
RGBA16 | R16G16B16A16_UNORM | |
RG8 | R8G8_UNORM | |
R32 | R32_FLOAT | |
RG32 | R32G32_FLOAT | |
RGBA32 | R32G32B32A32_FLOAT | |
R8 | R8_UNORM |
|
RGBA8S | R8G8B8A8_SNORM | |
A8 | A8_UNORM |
|
L8 | R8_UNORM |
|
AL8 | R8G8_UNORM | Used for look ups. |
L16 | R16_UNORM | Use DirectX SDK (2010 version). |
RG16S | R16G16_SNORM | |
RGBA16S | R16G16B16A16_SNORM | |
R16UI | R16_UINT | |
RG16UI | R16G16 _UINT | |
R16F | R16_FLOAT | |
RG16F | R16G16_FLOAT | |
RGBA16F | R16G16B16A16_FLOAT | |
R32F | R32_FLOAT | |
RG32F | R32G32_FLOAT | |
RGBA32F | R32G32B32A32_FLOAT |
|
CTX13 | ||
RGBA1010102F | ||
RGB111110F | ||
RGB9E5F | R9G9B9E5_SHAREDEXP | |
PVRTC24 | PVRTC 1 4bpp RGB | |
PVRTC44 | PVRTC 1 2bpp RGBA | |
PVRTC2a4 | PVRTC 1 2bpp RGBA | |
PVRTC4a4 | PVRTC 1 4bpp RGBA | |
ATC_RGB5 | ATC RGB | |
ATC_RGB1A5 | ATC Explicit Alpha | |
ATC_RGBA5 | ATC Interpolated Alpha | |
ETC1_RGB5 | ETC1 RGB | |
ETC2_RGB5 | ETC2_RGB | |
ETC2_RGB1A5 | ETC2 R8G8B8A1 | |
ETC2_RGBA5 | ETC2 EAC RGBA | |
ETC2_R5 | ETC2 EAC R11 | |
ETC2_RG5 | ETC2 EAC RG11 | |
ASTC_RGBA_4x44 | ASTC 4x4 | |
FrontBuffer | X8R8G8B8 |
Telltale Surface Gamma | Color Space |
---|---|
Non-existent | Non-sRGB (Linear) |
Unknown | Non-sRGB (Linear) |
Linear | Non-sRGB (Linear) |
sRGB | sRGB |
Note
Non-existent means that there is no such field in the relative D3DTX
version.
A typical D3DTX
debug information will contain a Meta
header and a D3DTX
header. Other image files will use the DirectXTex
metadata information.
The structures, types and fields can be found in the converter source code.