Compression
Summary
Textures must use specific DDS compression types to optimize performance.
DXT1 for opaque
DXT1a/DXT3/DXT5 for transparency
BC7 for dark textures with artifacts
This section provides an in-depth explanation of each type, their use cases, a decision-making flowchart, and visual examples to guide your choices.
Why Compression
Compression reduces texture file sizes, lowering VRAM usage and speeding up rendering. However, the wrong type can introduce artifacts, so selecting the appropriate method is key to maintaining visual integrity.
Compression Types
DXT1 (BC1):
Size: 4 bits per pixel.
Use: Opaque textures (no transparency).
Pros: Smallest file size, good quality for solid colours or gradients.
Cons: No alpha channel; transparency causes black patches.
Example: A solid colour texture for a car body.
DXT1a (BC1 with 1-bit alpha):
Size: 4 bits per pixel.
Use: Simple transparency (e.g., fully opaque or fully transparent areas).
Pros: Compact, handles basic cutouts.
Cons: Limited to binary alpha, poor for gradients.
Example: A logo sticker with sharp edges.
DXT3 (BC2):
Size: 8 bits per pixel.
Use: Textures with sharp transparency transitions.
Pros: 4-bit alpha for decent transparency quality.
Cons: Larger than DXT1, less efficient than DXT5 for smooth alpha.
Example: A window frame with clear-cut glass.
DXT5 (BC3):
Size: 8 bits per pixel.
Use: Smooth transparency gradients (e.g., fades, soft edges).
Pros: 8-bit alpha for high-precision transparency.
Cons: Larger file size than DXT1.
Example: A shirt with a semi-transparent logo fade.
BC7:
Size: 8 bits per pixel.
Use: Dark or high-contrast textures prone to DXT artifacts.
Pros: Superior quality, minimal artifacts.
Cons: Higher resource demand, compatibility issues on DirectX 10 or older systems.
Example: A black leather texture with subtle details.
Decision Making Flowchart
Last updated