Wat is het DDS-bestandsformaat?
Het .dds-bestandsformaat (kort voor DirectDraw Surface) bevat rasterafbeeldingen die door DirectX worden gebruikt. Een standaard .dds-bestand bevat texturen, achtergronden, cubemaps en texture maps voor computerspellen en andere real-time 3D-toepassingen.
Het formaat kan compressie gebruiken om de bestandsgrootte te verkleinen, hoewel dit volledig optioneel is. .dds maakt gebruik van het S3 Texture Compression-algoritme (S3TC), dat de BC1-BC3-familie beslaat (ook bekend als DXT1, DXT3 en DXT5). Nieuwere BC4-BC7-modi, geïntroduceerd met Direct3D 10, breiden de ondersteuning uit naar HDR-inhoud, normal maps en hoogwaardige RGBA-gegevens. .dds-bestandsgegevens kunnen worden gedecomprimeerd en gerenderd met behulp van standaard DirectX-bibliotheekfuncties en -opdrachten, en block-compressed formaten worden native door de GPU gedecodeerd zonder tussenkomst van de CPU.
.dds is gemaakt voor real-time rendering-softwaretoepassingen, zoals computerspellen. Vooraf gecomprimeerde .dds-texturen zorgen ervoor dat games assets sneller kunnen laden en verminderen het geheugengebruik van DirectX-compatibele GPU's. Het formaat ondersteunt ook ingebedde, vooraf berekende mipmap-ketens, die de renderingprestaties verbeteren op verschillende kijkafstanden.
.dds werd gecreëerd samen met de DirectX 7.0-standaard. Elke nieuwere DirectX-versie voegde verdere verbeteringen toe - DirectX 8.0 voegde ondersteuning voor volumetexturen toe, Direct3D 10 voegde textuurarrays en het DDS_HEADER_DXT10-extensieblok toe, en Direct3D 11 breidde BC7 uit voor hoogwaardige RGBA-textuurcompressie. Elk .dds-bestand begint met de vier-byte magic signature DDS (inclusief een spatie aan het einde) op byte-offset 0. Gerelateerde textuurformaten zijn onder meer .PNG, .TGA en .KTX voor platformonafhankelijke content-pipelines.
Beveiliging & veiligheid
RISICO: LOWDDS bevat passieve afbeeldingsgegevens zonder uitvoerbare code, dus het bekijken ervan is veilig. De echte waarschuwingen zijn technisch: sla bij het bewerken op met de JUISTE compressie (bijv. DXT5/BC3 of BC7 voor kleur-met-alfa, BC5 voor normal maps) en regenereer mipmaps, anders ziet de textuur er verkeerd uit of breekt deze in de game; converteren naar JPG ruïneert normal/specular maps. Game/mod-texturen zijn vaak auteursrechtelijk beschermde assets van iemand anders - respecteer licenties. Vermijd dubieuze „DDS converter”-sites die downloads verpakken in adware; gebruik de hier vermelde gratis tools.
Formaatdetails
in een notendopProgramma's die DDS-bestanden openen
Technische details
diepe specificaties| Containertype | Binaire rastertextuurcontainer die zowel blokgecomprimeerde als ongecomprimeerde pixelgegevens ondersteunt |
| Magic bytes | „DDS ” (hex 44 44 53 20) op offset 0, inclusief een spatie aan het einde - aanwezig in elk geldig .dds-bestand |
| Headerstructuur | 4-byte magic + 124-byte DDS_HEADER; bestanden die de DX10-extensie gebruiken, voegen direct daarna een DDS_HEADER_DXT10-blok toe |
| Blokcompressieformaten | BC1 (DXT1), BC2 (DXT3), BC3 (DXT5), BC4, BC5, BC6H (HDR), BC7 (hoogwaardige RGBA) |
| Ongecomprimeerde formaten | Ondersteund - RGBA8888, A8L8, R16G16B16A16F en andere ruwe pixel-layouts kunnen zonder compressie worden opgeslagen |
| Mipmap-ondersteuning | Vooraf berekende mipmap-keten ingebed in een enkel bestand; mip-aantal opgeslagen in DDS_HEADER.dwMipMapCount |
| Cube map-ondersteuning | Zes cube-face texturen gecodeerd in één bestand; gemarkeerd via DDSCAPS2_CUBEMAP bits in DDS_HEADER |
| Volumetexturen | 3D (volumetrische) texturen ondersteund sinds DirectX 8.0; plakken opeenvolgend opgeslagen per mip-niveau |
| Textuurarrays | Reeks textuurlagen opgeslagen in één bestand, beschikbaar via de DX10-headerextensie (Direct3D 10+) |
| GPU-compatibiliteit | Blokgecomprimeerde formaten worden native door de GPU gedecodeerd, wat directe upload mogelijk maakt zonder CPU-decompressie |
| HDR-ondersteuning | BC6H slaat half-precision floating-point (FP16) HDR-luminantiegegevens op voor physically based rendering |
| MIME-type | image/vnd-ms.dds |
| DX10 header FourCC | Bestanden met de DX10-extensie dragen het FourCC-token „DX10” in het dwFourCC-veld van DDS_PIXELFORMAT |
| Typische use-case | Real-time 3D-rendering: game engine texturen, skyboxes, normal maps, roughness/metallic PBR-maps |
| Uitgebracht | DirectX 7 (1999); modern DX10 header extension added with DirectX 10 (2006) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | learn.microsoft.com |
DDS conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over DDS-bestanden.