Seite 1 von 1

[DX9] DDS File-Format

Verfasst: 21.02.2015, 19:18
von Zudomon
VORGESCHICHTE
Ich versuche gerade, meine Bilddaten als DDS zu speichern.
Bisher habe ich das immer mit D3DXSaveTextureToFile gemacht, allerdings bekomme ich da einfach die MipMaps nicht mit dazu.
Habe mich nun entschlossen, das ganze selbst per Hand zu speichern.

PROBLEM
Beim Header habe ich das Problem, dass sich die dwCaps von einem mit DXTex gespeicherten Bild zu meinen Unterscheiden.

https://msdn.microsoft.com/en-us/librar ... s.85).aspx

In der Hilfe steht, dass hier 3 Werte genutzt werden können:

Code: Alles auswählen

  DDSCAPS_COMPLEX: DWord = $8;
  DDSCAPS_MIPMAP: DWord = $400000;
  DDSCAPS_TEXTURE: DWord = $1000;
Da ich erstmal mein Bild ohne MipMaps speichern möchte, damit ich mir nicht noch mehr Fallstricke als ohnehin schon existent in den Weg lege, würde ich sagen, dass bei mir also

Code: Alles auswählen

dwCaps = $1000 // 4096
sein sollte... der von DXTex gespeicherte Wert hier ist aber

Code: Alles auswählen

dwCaps = $1002 // 4098
Die Frage ist also, wo kommt das $2 her??

Re: [DX9] DDS File-Format

Verfasst: 21.02.2015, 23:27
von Zudomon
So nebenbei erwähnt:
Ich hatte gelesen, dass D3DXSaveTextureToFile wohl automatisch MipMaps speichert, wenn diese vorhanden sind.
Mir ist gerade aufgefallen, dass ich das File, welches ich mit MipMaps haben wollte, schon im DDS Format vorliegen habe, und es deswegen gar nicht erst umgewandelt wird... da kann ich also lange warten, bis da dann MipMaps hinzu kommen. :lol:
Allerdings habe ich nun das DDS selbst speichern auch fertig... zumindest für normales RGBA und MipMaps. Irgendwie doof, dass ich das nun umsonst implentiert habe... auf der anderen Seite, sind die MipMaps nun auch wirklich unter Beachtung des Gammas erstellt, was DXTex wohl nicht macht, wenn die MipMaps von mir und DXTex sehen leicht unterschiedlich aus.

Aber mich würde immer noch interessieren, warum da im Header dieser andere Wert drin steht. Vielleicht ist das für die ja auch nur eine Markierung, dass das mit dem Microsoft Tool erstellt wurde.