Scegliere il formato immagine giusto per le tue texture influenza dimensione del file, qualità visiva, compatibilità ed efficienza del workflow. Non esiste un unico formato migliore — la scelta giusta dipende dal fatto che tu stia puntando al web, a un motore di gioco, a un renderer offline o a una pipeline di archiviazione. Questa guida confronta i formati di texture più comuni e quando usare ciascuno.
PNG: Lo Standard Lossless
PNG usa la compressione lossless, il che significa che ogni pixel viene preservato esattamente come è stato creato. Supporta canali a 8 bit e 16 bit, trasparenza alpha completa e profili colore incorporati. PNG è supportato universalmente da ogni browser, editor di immagini e motore di gioco.
Lo svantaggio è la dimensione del file. Una texture PNG RGBA da 2048 pixel può facilmente raggiungere 8–15 MB. Per la distribuzione web, questo è proibitivamente grande. Per l’archiviazione e lo scambio tra strumenti (esportazione da Substance Painter, importazione in Blender), PNG è eccellente perché non si perde qualità. Usa PNG quando la fedeltà è più importante della dimensione del file: mappe normali, mappe di displacement e qualsiasi texture che sarà ulteriormente elaborata.
JPEG: Piccolo ma Lossy
JPEG usa la compressione lossy basata su DCT che scarta i dettagli ad alta frequenza per ottenere file di piccole dimensioni. Una texture da 2048 pixel che pesa 12 MB come PNG potrebbe essere 500 KB come JPEG a qualità 85. JPEG non supporta la trasparenza alpha e la sua compressione basata su blocchi crea artefatti visibili attorno ai bordi netti — testo, linee nitide e confini ad alto contrasto ne risentono.
JPEG funziona bene per le texture diffuse/albedo con gradienti morbidi e dettagli organici: venatura del legno, texture del tessuto, superfici in pietra. Evita JPEG per le mappe normali (la compressione distrugge la precisione direzionale), le maschere (nessun canale alpha) o qualsiasi texture con bordi netti. Qualità 80–85 è il tipico punto di equilibrio per il lavoro sulle texture.
WebP: Il Meglio di Entrambi i Mondi
WebP supporta sia la compressione lossy che lossless, la trasparenza alpha e l’animazione. WebP lossy è 25–35% più piccolo di JPEG equivalente. WebP lossless è 20–25% più piccolo di PNG. Il supporto browser è ora universale (97%+), rendendo WebP il formato raccomandato per le texture distribuite via web.
Per i motori di gioco e gli strumenti DCC, il supporto WebP è meno coerente. Blender, Unreal Engine e Unity supportano tutti l’importazione WebP, ma alcuni plugin e strumenti più vecchi non lo fanno. Usa WebP principalmente per la distribuzione web finale e rimani con PNG per lo scambio tra strumenti.
EXR e HDR: Colore Lineare e Alta Gamma Dinamica
OpenEXR (.exr) memorizza dati pixel floating-point nello spazio colore lineare con precisione a 16 bit o 32 bit per canale. Questo lo rende essenziale per l’archiviazione delle mappe PBR — mappe normali, displacement, roughness e qualsiasi dato che deve essere matematicamente preciso piuttosto che visivamente piacevole. EXR supporta più layer nominati in un singolo file (albedo, normale, roughness come layer separati), compressione lossless (ZIP, PIZ) e metadati arbitrari.
HDR (.hdr, formato Radiance) è un formato floating-point più vecchio usato principalmente per le environment map e i probe IBL (illuminazione basata su immagini). Memorizza RGB in un compatto encoding RGBE a 32 bit. Per le mappe texture, EXR è preferito rispetto a HDR per la sua maggiore precisione e set di funzionalità.
Le dimensioni dei file sono grandi: un EXR da 2048 pixel con canali float a 16 bit può essere 24–48 MB a seconda della compressione. Questi formati sono per le pipeline di produzione, non per la distribuzione web.
DDS e KTX2: Formati Compressi GPU
DDS (DirectDraw Surface) e KTX2 (Khronos Texture) sono formati container per dati di texture compressi GPU (BC1–BC7, ASTC, ETC2). A differenza di PNG o JPEG, che devono essere decompressi in pixel grezzi prima di essere caricati sulla GPU, le texture DDS/KTX2 vengono caricate direttamente nella loro forma compressa. Ciò significa che usano 4–8× meno VRAM rispetto alle texture non compresse e si caricano più velocemente perché non c’è un passaggio di decompressione lato CPU.
DDS è lo standard su PC (DirectX). KTX2 è l’equivalente Khronos/OpenGL/Vulkan ed è il formato richiesto per i modelli 3D glTF. I motori di gioco gestiscono la compressione durante l’importazione degli asset — fornisci texture sorgente PNG o EXR, e la pipeline di build genera DDS o KTX2 automaticamente. Raramente hai bisogno di creare questi formati manualmente.
Riepilogo del Confronto dei Formati
- PNG — Lossless, file grandi, supporto universale. Ideale per archiviazione, scambio tra strumenti e mappe che richiedono precisione.
- JPEG — Lossy, file piccoli, nessun alpha. Ideale per texture diffuse con dettagli morbidi dove la dimensione è importante.
- WebP — Lossy o lossless, file web più piccoli, supporto alpha. Ideale per la distribuzione web.
- EXR — Precisione float, colore lineare, file enormi. Ideale per mappe dati PBR e pipeline di produzione.
- DDS/KTX2 — Compressione nativa GPU, caricamento veloce, VRAM ridotta. Ideale per motori in tempo reale.
Tutte le texture generate su Texturize vengono esportate come PNG per la massima compatibilità. Converti in WebP per uso web con qualsiasi strumento immagine, o lascia che la pipeline di build del tuo motore di gioco gestisca la conversione in DDS o KTX2 automaticamente. Prova il generatore Cemento o Metallo e sperimenta con l’esportazione a diverse risoluzioni.