Che cos'è il formato di file DDS?
Il formato di file .dds (abbreviazione di DirectDraw Surface) contiene immagini raster utilizzate da DirectX. Un file .dds standard contiene texture, sfondi, cubemap e mappe di texture per videogiochi e altre applicazioni 3D in tempo reale.
Il formato può utilizzare la compressione per ridurre le dimensioni del file, sebbene sia del tutto opzionale. .dds utilizza l'algoritmo S3 Texture Compression (S3TC), che copre la famiglia BC1-BC3 (nota anche come DXT1, DXT3 e DXT5). Le nuove modalità BC4-BC7, introdotte con Direct3D 10, estendono il supporto ai contenuti HDR, alle normal map e ai dati RGBA di alta qualità. I dati dei file .dds possono essere decompressi e renderizzati utilizzando le funzioni e i comandi standard della libreria DirectX, e i formati compressi a blocchi vengono decodificati nativamente dalla GPU senza il coinvolgimento della CPU.
.dds è stato creato per applicazioni software di rendering in tempo reale, come i videogiochi. Le texture .dds pre-compresse consentono ai giochi di caricare le risorse più velocemente e riducono l'utilizzo della memoria delle GPU compatibili con DirectX. Il formato supporta anche catene di mipmap pre-calcolate incorporate, che migliorano le prestazioni di rendering a varie distanze di visualizzazione.
.dds è stato creato insieme allo standard DirectX 7.0. Ogni nuova versione di DirectX ha aggiunto ulteriori miglioramenti: DirectX 8.0 ha aggiunto il supporto per le texture volumetriche, Direct3D 10 ha aggiunto gli array di texture e il blocco di estensione DDS_HEADER_DXT10, e Direct3D 11 ha ampliato BC7 per la compressione di texture RGBA di alta qualità. Ogni file .dds inizia con la firma magica a quattro byte DDS (incluso uno spazio finale) all'offset di byte 0. Formati di texture correlati includono .PNG, .TGA e .KTX per pipeline di contenuti multipiattaforma.
Sicurezza e incolumità
RISCHIO: LOWDDS contiene dati immagine passivi senza codice eseguibile, quindi visualizzarne uno è sicuro. Le vere precauzioni sono tecniche: durante la modifica, salva con la compressione CORRETTA (es. DXT5/BC3 o BC7 per colore con alpha, BC5 per normal map) e rigenera le mipmap, altrimenti la texture apparirà errata o si romperà in gioco; la conversione in JPG rovina le normal/specular map. Le texture di giochi/mod sono spesso risorse protette da copyright - rispetta le licenze. Evita siti sospetti di «conversione DDS» che includono adware nei download; usa gli strumenti gratuiti elencati qui.
Dettagli del formato
in sintesiProgrammi che aprono file DDS
Dettagli tecnici
specifiche approfondite| Tipo di contenitore | Contenitore di texture raster binario che supporta dati pixel sia compressi a blocchi che non compressi |
| Magic bytes | «DDS » (hex 44 44 53 20) all'offset 0, incluso uno spazio finale - presente in ogni file .dds valido |
| Struttura dell'header | Magic da 4 byte + DDS_HEADER da 124 byte; i file che utilizzano l'estensione DX10 aggiungono un blocco DDS_HEADER_DXT10 immediatamente dopo |
| Formati di compressione a blocchi | BC1 (DXT1), BC2 (DXT3), BC3 (DXT5), BC4, BC5, BC6H (HDR), BC7 (RGBA di alta qualità) |
| Formati non compressi | Supportati - RGBA8888, A8L8, R16G16B16A16F e altri layout di pixel grezzi possono essere memorizzati senza compressione |
| Supporto mipmap | Catena di mipmap pre-calcolata incorporata in un singolo file; il conteggio mip è memorizzato in DDS_HEADER.dwMipMapCount |
| Supporto cube map | Sei texture delle facce del cubo codificate in un unico file; contrassegnate tramite i bit DDSCAPS2_CUBEMAP in DDS_HEADER |
| Texture volumetriche | Texture 3D (volumetriche) supportate da DirectX 8.0; le sezioni sono memorizzate sequenzialmente per livello mip |
| Array di texture | Array di livelli di texture memorizzati in un unico file, disponibili tramite l'estensione dell'header DX10 (Direct3D 10+) |
| Compatibilità GPU | I formati compressi a blocchi vengono decodificati nativamente dalla GPU, consentendo il caricamento diretto senza decompressione via CPU |
| Supporto HDR | BC6H memorizza dati di luminanza HDR a mezza precisione in virgola mobile (FP16) per il rendering basato sulla fisica (PBR) |
| Tipo MIME | image/vnd-ms.dds |
| FourCC header DX10 | I file con l'estensione DX10 portano il token FourCC «DX10» nel campo dwFourCC di DDS_PIXELFORMAT |
| Caso d'uso tipico | Rendering 3D in tempo reale: texture per motori di gioco, skybox, normal map, mappe PBR di rugosità/metallicità |
| Rilasciato | DirectX 7 (1999); modern DX10 header extension added with DirectX 10 (2006) |
| Standard aperto | Sì · royalty-free |
| Specifica | learn.microsoft.com |
Conversioni DDS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file DDS.