Skip to content

Latest commit

 

History

History
92 lines (80 loc) · 5.36 KB

surfaces.md

File metadata and controls

92 lines (80 loc) · 5.36 KB

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
  • Used for diffuse textures.
  • Use this save option if you do not want to lose quality.
ARGB8 R8G8B8A8_UNORM or R8G8B8A8_UNORM_SRGB1
  • Used for diffuse textures.
  • Use this save option if you do not want to lose quality.
BC12 BC1_UNORM or BC1_UNORM_SRGB1
  • Used for diffuse textures without alpha/transparency.
  • Use this save option if you want your texture compressed.
  • Also known as DXT1.
BC22 BC2_UNORM or BC2_UNORM_SRGB1
  • Used for textures with alpha/transparency.
  • Use this save option if you want your texture compressed.
  • Also known as DXT2 (pre-multiplied alpha) or DXT3.
BC32 BC3_UNORM or BC3_UNORM_SRGB1
  • Used for various textures with alpha/transparency.
  • Use this save option if you want your texture compressed.
  • Also known as DXT4 (pre-multiplied alpha) or DXT5.
BC42 BC4_UNORM
  • Used for ???
  • Also known as ATI1.
  • Use this save option if you want your texture compressed.
BC52 BC5_UNORM
  • Used for normal maps.
  • Also known as ATI2.
  • Use this save option if you want your texture compressed.
BC62 BC6H_UF16
  • Use this save option if you want your texture compressed.
BC72 BC7_UNORM or BC7_UNORM_SRGB1
  • Use this save option if you want your texture compressed.
ARGB16 R16B16G16A16_UNORM
  • Used for big detailed textures.
  • Only 1 such texture has been found. (Poker Night 2 - ui_endofdemo_items.d3dtx)
RGB565 R5G6B5_UNORM
  • Used for diffuse textures.
ARGB1555 B5G5R5A1_UNORM
ARGB4 R4G4B4A4_UNORM
  • Used for diffuse textures.
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
  • Equivalent to L8.
RGBA8S R8G8B8A8_SNORM
A8 A8_UNORM
  • Used for detail or 1 color textures.
L8 R8_UNORM
  • Equivalent to R8.
  • Used for old lookup textures.
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
  • Used for light maps.
  • Use NVIDIA Texture Tool or DirectX SDK.
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.

Reading Debug Information

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.

Footnotes

  1. The output depends on the D3DTX's surface gamma value. 2 3 4 5 6

  2. BC means Block Compression, which are basically image compression algorithms. They are lossy. 2 3 4 5 6 7

  3. Used for Xbox 360. (No texture found yet.)

  4. Used for iOS games. 2 3 4 5

  5. Used for Android games. 2 3 4 5 6 7 8 9