Archiv verlassen und diese Seite im Standarddesign anzeigen : Swapmöglichkeit für DXT/S3T gesucht
liquid
2005-08-24, 21:19:41
Normalerweise kann man ja recht einfach eine Bitmap auf "den Kopf stellen", indem man die Zeilen vertauscht.
Doch wie ist das bei DXT/S3T? Dort geht das ja nicht mehr so einfach, oder?
Da ich mich mit den Internas des Formats auch nicht so gut auskenne, würde ich gerne mal die Meinung der Profis zum Thema hören.
Währenddessen werde ich mal ein paar Tests machen.
cya
liquid
Neomi
2005-08-24, 22:00:05
Du mußt dazu nur die Blöcke insgesamt neu anordnen und in jedem Block einzeln auch nochmal die Werte tauschen. Nur ein paar Zeilen mehr Code, im Prinzip aber genauso einfach wie bei ungepackten Bitmaps.
liquid
2005-08-24, 22:10:47
Was sind das denn genau für Blöcke? In den Extension Specs steht irgendwas von 4x4-Blöcken. Nur 4x4 was? Äpfel, Birnen?
Außerdem frage ich mich, was passiert wenn das mal nicht aufgeht, oder wird da automatisch gepadded?
cya
liquid
Neomi
2005-08-24, 22:48:47
DXTC ist S3TC, heißt nur anders. Daher gilt diese Doku hier auch dafür:
http://msdn.microsoft.com/archive/en-us/directx9_c_Summer_04/directx/graphics/programmingguide/gettingstarted/direct3dtextures/compressed/alphatextures.asp?frame=true
micki
2005-08-25, 09:01:10
Was sind das denn genau für Blöcke? In den Extension Specs steht irgendwas von 4x4-Blöcken. Nur 4x4 was? Äpfel, Birnen?
mag zwar weit hergehollt sein, aber eventuel Texel?????
jeder block besteht bei dxt1 aus 64bit, die ersten 32bit mußt du nicht anfassen, die nächsten 32bit sind 2bit pro texel und bilden das 4x4 quad.
MfG
micki
liquid
2005-08-25, 11:05:32
So, das Swapping für DXT1 funktioniert jetzt schonmal ohne Probleme (sowohl square als auch non-square). Jetzt haben aber DXT2 bis DXT5 nicht 64bit sondern 128bit pro 4x4Block oder?
Also meine Vermutung, das sind dann zwei 32bit Farben und dann jeweils 4 Bit pro Pixel. Liege ich da richtig?
cya
liquid
Neomi
2005-08-25, 13:55:51
Also meine Vermutung, das sind dann zwei 32bit Farben und dann jeweils 4 Bit pro Pixel. Liege ich da richtig?
Nein, auf den Farbblock (entspricht dem DXT1-Block) folgt einfach ein weiterer 64 Bit Block mit den Alphainformationen. Links im Menü bei meinem Link solltest du dir den zweiten Punkt (Textures with Alpha Channels) ansehen, da steht die Beschreibung dieses Blocks.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.