Lucrul cu utilitarele nvidia dds (sdk)

În acest articol, vreau să ia în considerare avantajele și dezavantajele formatului DDS, precum și utilitățile pentru o lucrare rapidă și eficientă cu acesta.

Lucrând la proiectul de joc, ne-am confruntat cu problema optimizării resurselor și, în special, a texturilor. La început am folosit formatul TGA, dar mai târziu am trecut la DDS, deoarece sa dovedit a fi unul dureros.

Setul de instrumente nVidia DDS Utilities poate fi descărcat de la developer.nvidia.com și este, de asemenea, parte din SDK-ul nVidia. NVidia DDS Utilities include utilitare pentru a lucra din linia de comandă: detach.exe, nvdxt.exe, readdxt.exe, stitch.exe și un exemplu de utilizare a bibliotecii pentru comprimarea texturii.

nvDXT.exe - conversia formatelor .tga. bmp. GIF. ppm. jpg. TIF. cel. DDS. png și .psd în format DDS cu un set de parametri pe care să îl salvați. Este cea mai complexă și funcțională utilitate a acestui suite.

readDXT.exe - convertește imaginea comprimată la TGA.

stitch.exe - înfășurarea nivelurilor mipmap într-un singur fișier.

detach.exe - extragerea nivelelor mipmap dintr-un fișier.

-profil <имя_профиля> - citește profilul creat din plug-in pentru Photoshop.
-utilizați rapid o metodă rapidă de comprimare.
-prescale <целое_число> <целое_число> - scalarea imaginii la dimensiunea specificată.
-rescale - Scalați imaginea la cel mai apropiat format (cel mai mare / cel mai mic).
-rel_scale <десятичное_число, десятичное_число> - Scalarea imaginii. Parametrul trebuie să fie în intervalul (0.0, 1.0).

Opțiuni avansate de filtrare. Implicit: Cubic.

-RescalePoint
-RescaleBox
-RescaleTriangle
-RescaleQuadratic
-RescaleCubic
-RescaleCatrom
-RescaleMitchell
-RescaleGaussian
-RescaleSinc
-RescaleBessel
-RescaleHanning
-RescaleHamming
-RescaleBlackman
-RescaleKaiser
-RescalePoint
-RescaleBox
-RescaleTriangle
-RescaleQuadratic
-RescaleCubic
-RescaleCatrom
-RescaleMitchell
-RescaleGaussian
-RescaleSinc
-RescaleBessel
-RescaleHanning
-RescaleHamming
-RescaleBlackman
-RescaleKaiser

-nomipmap - nu generează nivele mipmap
-nmips <целое_число> - numărul de nivele mipmap
-rgbe - imagine în format RGBE
-pauză - așteptați pentru evenimentele tastaturii la eroare.
-flip - flip imaginea de sus în jos
-listă <имя_файла> - lista de fișiere pentru conversie
-listă <имя_файла> - conversia tuturor imaginilor în directorul curent
-outdir <каталог> - director pentru plasarea fișierelor convertite
-suprascrie - dacă fișierul sursă este în format DDS, suprascrieți
-binaryalpha - considerați fiecare texel al texturii alfa fie transparent fie opac

-24 - conversia imaginilor pe 24 de biți în formatul selectat
-32 - conversia imaginilor pe 32 de biți în formatul selectat

Formatul texturii. Implicit: DXT3.

-dxt1c - DXT1 (fără canalul alfa [RGB DXT 1])
-dxt1a - RGBA DXT1 (canal alfa cu un singur bit)
-dxt3 - RGBA DXT3
-dxt5 - RGBA DXT5

-u1555 - format necomprimat 1: 5: 5: 5
-u4444 - format necomprimat 4: 4: 4: 4
-u565 - format necomprimat 5: 6: 5
-u8888 - format necomprimat 8: 8: 8: 8
-u888 - format necomprimat 0: 8: 8: 8
-u555 - format necomprimat 0: 5: 5: 5
-p8 - format palet necomprimat 8 biți (256 culori)
-p4 - format palet necomprimat 4 biți (16 culori)
-a8 - utilizați canal alfa de 8 biți

nvdxt -cubemap cubemap.dds-list cubemapfile.lst

Creați o hartă cubică numită cubemap.dds din fișierele descrise în cubemapfile.lst

nvdxt -file test.tga -dxt1c
nvdxt -file * .tga

Conversia tuturor fișierelor cu extensia .tga (fișierele se află în același director cu programul)

nvdxt - fișier c: \ temp \ *. tga
nvdxt -file temp \ *. tga
nvdxt -file normal_map.tga -norm
nvdxt -all -dxt3 -gamma -outdir. \ dds_dir -time
nvdxt -file * .tga -scale 0.5

Folosind readDXT

În final, primim unul sau mai multe fișiere TGA.

Folosind cusatura

Există o împachetare a nivelurilor mipmap într-un fișier din fișierele tex_00.dds, tex_01.dds, tex_02.dds, tex_03.dds, tex_04.dds, ... etc.

Utilizând detașarea

Extrageți toate nivelele mipmap din fișier.

Un mic exemplu de automatizare

Un exemplu din experiența personală este cum să simplificați munca pentru dvs. și pentru ceilalți. Eficient când lucrați cu un volum mare de același tip de date. Creați un document de text simplu cu extensia .bat și scrieți următoarele:

Am scris un program batch care convertește toate fișierele de format tga în format DDS RGB DXT1, șterge fișierele sursă și oferă informații despre erori. Această metodă este convenabilă deoarece nu necesită compilare și poate fi ușor adaptată pentru o anumită sarcină de către un artist sau un colector de resurse.

După cuvânt, sau ce format să alegeți.

La comprimarea texturilor RGB, cel mai potrivit și care oferă un raport bun de compresie este RGB DXT1. Pentru a comprima imaginile RGBA în care canalul alfa este folosit ca o mască - RGBA DXT1. Dacă canalul alfa se caracterizează prin schimbări puternice, se recomandă utilizarea RGBA DXT3, altfel RGBA DXT5. Vă recomandăm insistent să încercați să comprimați textura în diferite formate pentru a selecta cea mai bună imagine. Unele texturi pentru a converti la necomprimat - textura în cazul în care există tranziții line de culoare sau critice pentru calitatea imaginii (de ex, o interfață grafică de utilizator).

Voi fi bucuros să ascult feedback și sugestii.

Pluginul 3ds max pentru a lucra cu .dds (numai pentru 3ds max 3, 4, 5, deoarece în versiuni noi, suportul este oferit de dezvoltatori).

Plugin-urile Adobe Photoshop - două plug-in-uri (Texture Compression Plug-In și Normal Map Filter) și câteva scripturi utile pentru Adobe Photoshop, de asemenea, pot fi folosite în Jasc Paint Shop Pro.

Articole similare