Import: DDS texture format (BC1-BC7)
Current State
The raster texture importer (#5 (closed)) and KTX2 pipeline (#28 (closed)) don't cover DDS. DDS is the standard DirectX texture container (BC1-BC7 block compression, mips, cubemaps) and ships as the texture format for a huge share of existing DCC/asset-store content (e.g. the Amazon Lumberyard Bistro's 633 textures are all DDS).
Goal
Import DDS textures (BC1-BC7 compressed, and uncompressed DXGI formats) through the same pipeline that produces the engine's KTX2 texture assets — so DDS becomes just another accepted source format alongside PNG/TGA.
Scope
- DDS header parsing (legacy
DDS_PIXELFORMAT+DX10extended header) to detect format, mips, array size. - Direct block-copy path for BC1/BC3/BC4/BC5/BC7 (no re-encode) into KTX2; decode-and-recompress fallback only if the target format needs to change.
- Handle common source conventions: DirectX-style normal maps (may need a channel/Y flip depending on the engine's normal convention), sRGB vs linear tagging per texture usage (albedo/emissive vs normal/ORM).
- Register
.ddsas an importable source asset type inAssetDatabase/AssetImporter.
Acceptance
- A BC-compressed DDS texture (e.g. Bistro's ORM-packed specular maps, BC-compressed normal maps) imports and renders identically to an equivalent PNG-sourced KTX2 asset.