Qu'est-ce que le format de fichier DDS ?
Le format de fichier .dds (abréviation de DirectDraw Surface) contient des images matricielles utilisées par DirectX. Un fichier .dds standard contient des textures, des arrière-plans, des cubemaps et des mappages de texture pour les jeux vidéo et autres applications 3D en temps réel.
Le format peut utiliser la compression pour réduire la taille du fichier, bien que cela soit facultatif. .dds utilise l'algorithme S3 Texture Compression (S3TC), couvrant la famille BC1-BC3 (également connue sous les noms DXT1, DXT3 et DXT5). Les nouveaux modes BC4-BC7, introduits avec Direct3D 10, étendent la prise en charge au contenu HDR, aux normal maps et aux données RGBA de haute qualité. Les données des fichiers .dds peuvent être décompressées et rendues à l'aide des fonctions et commandes standard de la bibliothèque DirectX, et les formats compressés par blocs sont décodés nativement par le GPU sans intervention du CPU.
Le format .dds a été créé pour les applications logicielles de rendu en temps réel, telles que les jeux vidéo. Les textures .dds pré-compressées permettent aux jeux de charger les ressources plus rapidement et de réduire l'utilisation de la mémoire des GPU compatibles DirectX. Le format prend également en charge les chaînes de mipmaps précalculées intégrées, qui améliorent les performances de rendu à différentes distances de vue.
Le format .dds a été créé parallèlement à la norme DirectX 7.0. Chaque nouvelle version de DirectX a apporté des améliorations supplémentaires - DirectX 8.0 a ajouté la prise en charge des textures volumiques, Direct3D 10 a ajouté les tableaux de textures et le bloc d'extension DDS_HEADER_DXT10, et Direct3D 11 a étendu le BC7 pour la compression de textures RGBA de haute qualité. Chaque fichier .dds commence par la signature magique de quatre octets DDS (incluant un espace à la fin) à l'offset 0. Les formats de texture associés incluent .PNG, .TGA et .KTX pour les pipelines de contenu multiplateformes.
Sécurité et sûreté
RISQUE : LOWLe DDS contient des données d'image passives sans code exécutable, sa visualisation est donc sûre. Les vraies précautions sont techniques : lors de l'édition, enregistrez avec la compression CORRECTE (ex: DXT5/BC3 ou BC7 pour la couleur avec alpha, BC5 pour les normal maps) et régénérez les mipmaps, sinon la texture aura un aspect erroné ou plantera le jeu ; la conversion en JPG détruit les cartes normales/spéculaires. Les textures de jeux/mods sont souvent protégées par le droit d'auteur - respectez les licences. Évitez les sites de « conversion DDS » suspects qui enveloppent les téléchargements dans des adwares ; utilisez les outils gratuits listés ici.
Détails du format
en brefProgrammes qui ouvrent les fichiers DDS
Détails techniques
spécifications approfondies| Type de conteneur | Conteneur de texture matricielle binaire prenant en charge les données de pixels compressées par blocs et non compressées |
| Octets magiques | « DDS » (hex 44 44 53 20) à l'offset 0, incluant un espace final - présent dans chaque fichier .dds valide |
| Structure de l'en-tête | Signature magique de 4 octets + DDS_HEADER de 124 octets ; les fichiers utilisant l'extension DX10 ajoutent un bloc DDS_HEADER_DXT10 immédiatement après |
| Formats de compression par blocs | BC1 (DXT1), BC2 (DXT3), BC3 (DXT5), BC4, BC5, BC6H (HDR), BC7 (RGBA haute qualité) |
| Formats non compressés | Pris en charge - RGBA8888, A8L8, R16G16B16A16F et d'autres dispositions de pixels bruts peuvent être stockés sans compression |
| Support des mipmaps | Chaîne de mipmaps précalculée intégrée dans un seul fichier ; nombre de mips stocké dans DDS_HEADER.dwMipMapCount |
| Support des cube maps | Six textures de faces de cube encodées dans un seul fichier ; signalées via les bits DDSCAPS2_CUBEMAP dans DDS_HEADER |
| Textures volumiques | Textures 3D (volumétriques) prises en charge depuis DirectX 8.0 ; tranches stockées séquentiellement par niveau de mip |
| Tableaux de textures | Tableau de couches de textures stockées dans un seul fichier, disponible via l'extension d'en-tête DX10 (Direct3D 10+) |
| Compatibilité GPU | Formats compressés par blocs décodés nativement par le GPU, permettant un chargement direct sans décompression par le CPU |
| Support HDR | BC6H stocke des données de luminance HDR en virgule flottante demi-précision (FP16) pour le rendu physique (PBR) |
| Type MIME | image/vnd-ms.dds |
| FourCC de l'en-tête DX10 | Les fichiers avec l'extension DX10 portent le jeton FourCC « DX10 » dans le champ dwFourCC de DDS_PIXELFORMAT |
| Cas d'utilisation typique | Rendu 3D en temps réel : textures de moteur de jeu, skyboxes, normal maps, cartes PBR de rugosité/métallicité |
| Publié | DirectX 7 (1999); modern DX10 header extension added with DirectX 10 (2006) |
| Standard ouvert | Oui · libre de droits |
| Spécification | learn.microsoft.com |
Conversions DDS
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers DDS.