Djinni Wiki PL
Advertisement

DDS to format skompresowany? Pierwsze słyszę... -- SinusPi 11:15, 11 cze 2008 (UTC)

Zależenie jakie dane o teksturze plik DDS przechowuje, może być nieskompresowany, skompresowany w DXT1, w DXT2 itd. Nie oznacza to oczywiście, że aby do nich się dobrać i móc je edytować, to trzeba je jakoś dodatkowo przetwarzać czy wypakowywać (jak np. ZIP-y czy RAR-y). Dekompresowaniem tekstur w plikach DDS zajmuje się silnik gry, a dokładniej - kod korzystający z bibliotek DirectX. Zajrzyj na MSDN, np. tutaj. -- Entom 13:06, 11 cze 2008 (UTC)
Jasne, jasne, tylko że DDSy jakie widziałem dotąd w katalogach gry były zdecydowanie nieskompresowane - stąd się złapałem, lecz nie do końca pomyliłem w spostrzeżeniu: stwierdzenie "podstawowy format skompresowanych plików graficznych" nie jest prawdziwe w przypadku Wiedźmina, gdyż wszystkie .DDSy wypakowane z .BIFów są w formacie nieskompresowanym. Tak gwoli ścisłości :)
Choć... moment. Niby są skompresowane, nominalnie, bo mają sygnaturkę DXT1 czy nawet DXT5, ale jeżeli te dane są jakkolwiek skompresowane, to ja jestem Świętym Mikołajem... Tymczasem jednak wstrzymuję osądy, póki nie ustalę, w czym się rypnąłem :P
A jednak się nie rypnąłem, chyba - wszędzie, gdzie czytam, to DXTn są formatami łączenia wielu typów tekstur w jednym pliku, a nie kompresji... To jak to jest, u licha..? -- SinusPi 23:39, 11 cze 2008 (UTC)
??? Łączenie wiele typów tekstur? Chodzi Ci o warstwy? Mip-mapy?
Hmm, podam jeszcze jedną stronę - tworzenie gier, na intel.com. Sprawdź artykuł Real-Time DXT Compression napisany przez ID Software. Jeśli to wciąż Cię nie przekonuje, to stwórz sobie rysunek w jakimś programie (np. GIMP), zapisz go w pliku DDS, bez kompresowania, a następnie zapisz go w innym pliku DDS, ale z kompresją DXT1. Porównaj wielkość plików - który zajmuje mniej miejsca na dysku?
Chociaż chodzi tutaj raczej o odciążenie karty graficznej. Jestem tylko programistą-amatorem, ale... No dobra, sprawdź samemu, porównując rysunek DDS skompresowany i nieskompresowany. Plik skompresowany będzie na dysku około 4 albo 8 razy mniejszy od nieskompresowanego. W pierwszym rozdziale na stronie o mapach obszaru są podane wszystkie niezbędne narzędzia do tworzenia plików DDS. -- Entom 18:33, 12 cze 2008 (UTC)
Na pewno doczytanie dodatkowych materiałów mi nie zaszkodzi :) Jednak jak patrzę na DDSy wypakowane z .BIFów gry, i widzę serie plików o identycznym rozmiarze, to odruchowo przestaję wierzyć w jakąkolwiek kompresję. Choć gdy w środku widzę sporych rozmiarów tekstury, jednak jakoś skompresowane być muszą - ciekawe dla mnie zostaje jednak, skąd te identyczne rozmiary, i fatalnie nieoptymalne powtarzające się sekwencje wewnątrz plików. Ale to już muszę sam doczytać - nie zawracając głowy :) Dzięki za naprowadzenie na parę tropów. -- SinusPi 21:34, 13 cze 2008 (UTC)
Te same rozmiary plików na dysku to nic dziwnego i wcale nie oznacza to, że tekstury z plików są niezoptymalizowane. Kluczem do rozwiązania tej "zagadki" są dwie informacje:
1. długość i szerokość tekstur muszą być potęgą liczby 2, aby można było użyć kompresji DXTn, np. dużo tekstur ma rozmiar 512x512 i są skompresowane w DXT1 albo DXT5,
2. stopień kompresji jest fixed, tzn. stały - dla danego rodzaju kompresji.
Powodzenia (i pamiętaj, że to są tekstury skompresowane dla kart graficznych, a nie np. pliki tekstowe skompresowane w RAR). ;) -- Entom 22:10, 13 cze 2008 (UTC)
Różnicę między tekstem a teksturą pojmuję dość dobrze :) Niemniej jednak każdy inny znany mi sposób kompresji grafiki, nawet przy idealnie potęgodwójkowych rozmiarach, daje w efekcie zupełnie różne rozmiary wynikowych plików, zależnie od treści danych podlegających kompresji. Pierwsze słyszę o kompresji, która daje konkretny stopień kompresji niezależnie od danych... Ale idę o to spytać jakichś ściśle graficznych ludzi, zanim mi się do reszty w głowie pomiesza. -- SinusPi 20:33, 14 cze 2008 (UTC)
Advertisement