Generelle Fragen zu DirectX Formaten und CheckDeviceFormat
-
Hi Leute, ich habe da ein paar Fragen zu den Direct3D Formaten:
Frage 1:
kann es sein, dass der Backbuffer und alle Oberflächen mit dem Flag D3DUSAGE_RENDERTARGET eingeschränkter in der Wahl des Formats sind, als gewöhnliche Surfaces ??
Bsp. : CheckDeviceFormat mit dem Flag D3DUSAGE_RENDERTARGET und dem Format D3DFMT_A1R5G5B5 schlägt fehl. Doch wenn ich nun beim Parameter DWORD Usage 0 übergebe, dann funktioniert alles Prächtig. Mit anderen Worten ich kann dieses Format nicht für den BackBuffer gebrauchen, für eine Textur oder ein anderes OffScreenSurface jedoch schon ??Frage 2:
Gibt es Grafikkarten die Überhaupt kein StencilBuffer unterstützen ??
Bsp. : Formate wie D3DFMT_D15S1 oder D3DFMT_D24S8, sondern nur D3DFMT_D16 oder D3DFMT_D32 ??Frage 3:
Was ist wenn eine Grafikkarte nicht mal ein 16Bit Farbmodus unterstützt. Wird Sie dann von GetAdapterIdentifiert überhaupt aufgeführt ???
Bsp. : Der Windows Standart Graphics Adapter hat eine maximale Farbauflösung von 8Bit (ausser WinXP)Frage 4:
Gibt es eine Möglichkeit Schatten mit dem StencilBuffer zu zeichen, wenn man keine Bits für den StencilBuffer hat ?? Also ich denke nicht...Frage 5:
Was passiert, wenn der Desktop im 8Bit Farbmodus läuft ?? Was gibt dann die Methode GetAdapterDisplayMode zurück ??Frage 6:
CheckDeviceFormat kennt unter anderem den Resourcentype D3DRTYPE_SURFACE und D3DRTYPE_TEXTURE. Nun frage ich mich, was ich denn nun prüfen soll ? Ich meine, eine Textur speichert seine Daten doch letztendlich in einem Surface ?? Also ist das Texturformat doch letztendlich das gleiche wie das zugrundeliegende Surface format ??So ich denkde das wars für den Anfang...
Gruss Ishildur
-
äääähem.... Bitte ???
-
1. Ja (lies mal in der DXSDK Doku)
2. Ja
3. Müsste theoretisch gelistet werden, allein gibt es andere Kriterien um gelistet zu werden, die keine 8Bit only Karte erfüllt
4. Wie funktioniert denn ein Stencilbuffer ohne "Bits" (= Speicherplatz)
5. "the current display mode of the adapter" (siehe Doku)
6. Also eine Textur ist schon wesentlich komplexer als eine einzelne Surface (die ist nämlich wirklich nur ein 2D-Bild mit x*y Pixeln)Ich denke das war's für's Ende.
-
Ishildur schrieb:
Frage 4:
Gibt es eine Möglichkeit Schatten mit dem StencilBuffer zu zeichen, wenn man keine Bits für den StencilBuffer hat ?? Also ich denke nicht...Könntest Du Dir doch eigentlich selbstbauen... also mit'nem Array...
Wäre dann als "Software-Renderer" sicherlich nicht der schnellste...