Tutto su file DDS
Il formato di texture di Microsoft per giochi e applicazioni 3D
DDS sta per DirectDraw Surface ed è un formato di file sviluppato da Microsoft per la memorizzazione di texture e dati di superficie per applicazioni 3D. Il formato è stato introdotto insieme a DirectX 7 per memorizzare texture compresse[1] e non compresse. L'intestazione deriva direttamente dalle strutture di DirectDraw 7 e, sebbene DirectDraw stesso sia ormai considerato un'API legacy, il formato di file continua a esistere ed è ancora ampiamente utilizzato[2]. Chiunque abbia mai decompresso file di giochi o addirittura creato MOD per giochi si è quasi certamente imbattuto in file .dds, che forse non è stato in grado di visualizzare direttamente.
Contesto tecnico
All'epoca le schede grafiche avevano spesso solo 8 MB di memoria video e le texture non compresse la consumavano in pochi secondi. La soluzione è arrivata da S3 Graphics, che con la S3 Texture Compression (S3TC) ha sviluppato un processo in grado di ridurre i dati delle texture da un quarto a un sesto della loro dimensione originale, senza che la scheda grafica dovesse prima decomprimerli in modo dispendioso prima del rendering. Nel marzo 1998 Microsoft ha concesso in licenza questa tecnologia per DirectX[3]. S3TC era stato originariamente sviluppato per la scheda grafica Savage 3D e il brevetto era stato depositato[4] nel 1997. Microsoft scelse proprio questo algoritmo perché offriva la migliore qualità dell'immagine e poteva essere implementato [3]nell'hardware in modo economico. Con DirectX 7, il file di texture compresso ottenne poi un proprio contenitore: il formato DDS.
Ulteriore sviluppo del formato
Quello che nel 1999 era iniziato come un semplice contenitore di texture è stato notevolmente ampliato nel corso degli anni. Con DirectX 8.0 è stato aggiunto il supporto per le texture volumetriche, mentre a partire da Direct3D 10 sono supportati anche gli array[1] di texture. In questo contesto è stata introdotta un'intestazione estesa (DX10-Extension) che ha risolto un problema piuttosto fastidioso: le denominazioni dei formati di Direct3D 9 e Direct3D 10 entravano in conflitto tra loro, il che, senza il nuovo header, avrebbe portato ad ambiguità durante[2] il caricamento. Con DirectX 11 sono stati poi aggiunti ulteriori metodi di compressione che consentono, tra l’altro, texture HDR (per condizioni di luce realistiche) e una fedeltà cromatica complessivamente superiore.
DDS: formato immagine o formato contenitore?
Il DDS è meno un classico formato immagine e più un formato contenitore. Un singolo file DDS può contenere, oltre a semplici texture 2D, anche cube map (sei lati di un riflesso ambientale, come quelli necessari ad esempio per il cielo o le superfici riflettenti), texture volumetriche (per effetti come nebbia o fumo) e catene complete di mipmap. Queste ultime sono varianti di texture con risoluzione decrescente, in modo che un oggetto in lontananza non debba caricare la stessa texture ad alta risoluzione di uno direttamente davanti alla telecamera. I cinque formati di compressione originali da DXT1 a DXT5 sono stati rinominati BC1 a BC3 [4]con Direct3D 10, anche se DXT2 e DXT4 sono stati utilizzati pochissimo nella pratica.
Campi di applicazione dei file DDS
Il formato è supportato praticamente da tutti i principali motori di gioco, tra cui Unreal Engine, Unity e CryEngine. I campi di applicazione tipici sono le mappe diffuse (la colorazione effettiva di una superficie), le mappe normali (dettagli superficiali simulati come scanalature o protuberanze), le mappe speculari (controllo di lucentezza e riflessi) e tutti gli altri tipi di texture che un moderno gioco 3D comporta.
Sebbene il DDS sia stato originariamente sviluppato per DirectX, può essere utilizzato anche in OpenGL tramite l'estensione [4]OpenGL GL_EXT_texture_compression_s3tc. Chiunque pensi che il DDS sia una questione esclusivamente legata a Windows, si sbaglia. Il formato trova impiego anche al di fuori del settore dei videogiochi, ad esempio nelle visualizzazioni architettoniche o nelle simulazioni.
Supporto software
Per aprire e modificare i file DDS sono disponibili diversi programmi, tra cui Adobe Photoshop (con plugin), GIMP (con plugin DDS), Paint.NET e IrfanView. Microsoft gestisce su GitHub le proprie librerie open source DirectXTex e DirectXTK, che supportano completamente il formato. In alternativa, i file DDS possono essere convertiti direttamente nel browser in formati comuni come PNG o JPG utilizzando convertire-documenti.it.
Fonti
[1] Microsoft Learn: DDS – Win32 apps
[2] Chuck Walbourn / Microsoft DirectX SDK Blog: The DDS File Format Lives
[3] Microsoft Licenses 3-D Graphics Technology From S3 Incorporated
[4] Wikipedia S3 Texture Compression
Converti, apri e modifica i file DDS
Dettagli sui file DDS
- Software per l'apertura di file DDS
- Adobe Photoshop (Plugin) GIMP (Plugin) Paint.NET IrfanView
- Software per la modifica di file DDS
- Adobe Photoshop (Plugin) GIMP (Plugin)
- Tipo MIME per DDS
- image/vnd-ms.dds
Ultimo aggiornamento il 25 aprile 2026 da parte di
Nessun commento