0% found this document useful (0 votes)
118 views

DDT v2 Texture File Format

The DDT file format contains texture data with a header describing properties like size, format and number of mip levels. Image data is stored indirectly with offsets and sizes rather than contiguously. Legacy compressed formats like DXT1 may require decompression before use. A BT8 format uses palettes stored with offset pointers.

Uploaded by

Fiorella Rendón
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views

DDT v2 Texture File Format

The DDT file format contains texture data with a header describing properties like size, format and number of mip levels. Image data is stored indirectly with offsets and sizes rather than contiguously. Legacy compressed formats like DXT1 may require decompression before use. A BT8 format uses palettes stored with offset pointers.

Uploaded by

Fiorella Rendón
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

DDT v2 Texture File Format

DDT Data Structures


Header Structure
Magic Number 4 bytes
Texture Properties 1 byte
Number of Alpha Bits 1 byte
Storage Format 1 byte
Number of Mip Levels 1 byte
Texture Width 4 bytes (signed)
Texture Height 4 bytes (signed)
Total Size: 16 bytes

 Magic Number:
o Has to contain the ASCII string “RTS3” (not null-
terminated). The original implementation does not seem to
care about this value at all. Should be used for
verification.
 Texture Properties:
o TEXTURE_NORMAL_MAP (0x00)
o TEXTURE_NO_ALPHA_TEST (0x01) [Legacy]
o TEXTURE_NO_LOW_DETAIL (0x02) [Legacy]
o TEXTURE_DISPLACEMENT_MAP (0x04)
o TEXTURE_CUBEMAP (0x08)
 Number of Alpha Bits (Legacy):
o Can only hold the values 0, 1, 4 or 8. Only used with legacy
texture formats. Undefined value for non-legacy texture
formats.
 Storage/Texture Format:
o Raw32 (0x01) [Legacy]: Uncompressed RGBA8
o Raw24 (0x02) [Legacy]: Uncompressed RGB8
o BT8 (0x03) [Legacy]: BT8
 Read BT8 Image Info structure for texture decoding
o DXT1 (0x04) [Legacy]: Block Compression 1 (see BC1)
 Sometimes supported by GPU. Decompress CPU-side to be
safe.
o DXT1PlusAlpha (0x05) [Legacy]: Block Compression 1 + alpha
 Not natively supported by GPU! Decompress before
uploading!
o DXT3 Swizzled (0x06) [Legacy]: Swizzlde Block Compression 2
Not natively supported by GPU! Decompress before
uploading!
o AlphaData (0x07) [Legacy]: 8-bit single channel alpha data
o BC1 (0x04): Block Compression 1 (Native GPU support)
o BC2 (0x08): Block Compression 2 (Native GPU support)
o BC3 (0x09): Block Compression 3 (Native GPU support)
o RGBADeflated (0x0A): zlib deflated RGBA8
o AlphaDeflated (0x0B): zlib deflated R32F
o RG16Deflated (0x0C): zlib deflated RG16

DDT Image Entry


Offset to Image Data 4 bytes (unsigned)
Image Data Size 4 bytes (unsigned)
Total Size: 8 bytes

 Offset to Image Data:


o Offset determined from the beginning of the file.
 Image Data Size:
o Size of the image as stored in the file. Not the final
decompressed size.

BT8 Image Info (Legacy)


Number of Palette Colors 4 bytes (unsigned)
RGB8 Palette Offset 4 bytes (unsigned)
R5G6B5 Palette Offset 4 bytes (unsigned)
R5G5B5 Palette Offset 4 bytes (unsigned)
A1R5G5B5 Palette Offset 4 bytes (unsigned)
A4R4G4B4 Palette Offset 4 bytes (unsigned)
Total Size: 24 bytes

 Number of Palette Colors:


o Amount of color entries in palette buffer. Palette buffer
has to be large enough to store this amount of 16 bit (word)
values.
 Palette Offsets:
o Offsets are determined from the beginning of the file.
o Not all palettes have to be available for a single texture
file. If offset holds a value of 0, the palette is not
available for that specific texture.

DDT Image Info


Data Offset 4 bytes (unsigned)
Data Size 4 bytes (unsigned)
Image Width 4 bytes (signed)
Image Height 4 bytes (signed)
Total Size: 16 bytes

 Data Offset:
o Image data offset from the beginning of the file.

 Data Size:
o Image data size in texture file. This is not the final
decompressed size.

DDT File Layout


 DDT Header
 If Storage Format is BT8:
o BT8 Image Info
 For all faces in texture (1 for regular texture, 6 for cubemap):
o For number of mip levels:
 DDT Image Entry
 Image info, data and BT8 Palette buffer at unspecified locations
in file. Read offsets in corresponding header structures to get
correct data locations.

You might also like