Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

12.11.2003, 21:35

Frage zur Dx-Initialisierung (Formate & D3DCAPS)

Hallo!

ich hab mir das Buch gekauft, und finde es schon toll was da so alles drinnesteht, aber einige Sachen zur DX-Initialisierung sind mir noch unklar (ich mach das ganze learning by doing mehr oder weniger).

Also:

Erst einmal:
Ich wollte keine ellenlangen Comboboxen fuer den VideoMode haben, also hab ich nur ein paar Radio-Buttons gemacht auf welchen man zwischen zwei Farbtiefen und 4 Auflösungen wählen kann.
Drum wollte ich wissen: gibt es todsichere Formate die auf so gut wie allen Graphikadaptern laufen? Wenn ja, welche waeren das explizit fuer den Backbuffer und Z-Stencil-Buffer? Dann muesst ich nämlich die Kompatibilitaet nicht erst ueberpruefen und mir dann einen Typ raussuchen (wenn ichs dem user ersparen will, wieso nicht auch gleich mir selbst?)

Ausserdem haette ich noch eine 2te Frage:
Woher zum Teufel bekomme ich die Information darüber welche BehaviourFlags mein Device unterstuezt? mit den D3DCAPS9 kenn ich mich leider net gut genug aus, und eine if-Abfrage die zuerst HARDWARE_VERTEXPROCESSING und wenn das fehlschlaegt SOFTWARE_VERTEXPROCESSING probiert ist mir als perfektionistischer n00b zu dreckig.
haengt das vielleicht mit D3DDEVCAPS_HWRASTERIZATION oder D3DDEVCAPS_HWTRANSFORMANDLIGHT zusammen?

Mit der Bitte um Belehrung

SUPERN00B

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

12.11.2003, 21:42

Hi,

"totsichere" Formate wären wohl die folgenden:
- D3DFMT_X8R8G8B8 für Back-Buffer
- D3DFMT_D24S8 für Z-Stencil-Buffer

Und: ja, mit D3DDEVCAPS_HWTRANSFORMANDLIGHT kannst Du rausfinden, ob die Grafikkarte Hardware-TnL unterstützt.

Anonymous

unregistriert

3

12.11.2003, 22:42

Thx fuer die Antwort! Das ging aber schnell!

also da ich jetzt ein stück weitergekommen bin haette ich noch ein, zwei abschliessende Fragen zu dem Thema:

wenn ich als BehaviourFlag D3DCREATE_MIXED_VERTEXPROCESSING angebe, ist dass bei gleicher Graphikkarte dann genauso schnell wie D3DCREATE_HARDWARE_VERTEXPROCESSING? dann wuerde ich naemlich immer zur _MIXED_ Variante greifen.

und: nutzt D3D alle verfügbaren Hardware-Features automatisch aus, oder muss z.B. Hardware T'n'L ausdruecklich aktiviert werden?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

12.11.2003, 22:53

Zitat von »"SUPERN00B"«

wenn ich als BehaviourFlag D3DCREATE_MIXED_VERTEXPROCESSING angebe, ist dass bei gleicher Graphikkarte dann genauso schnell wie D3DCREATE_HARDWARE_VERTEXPROCESSING? dann wuerde ich naemlich immer zur _MIXED_ Variante greifen.

Du musst dann die Hardware-Verarbeitung explizit ein- und ausschalten, durch IDirect3DDevice9::SetSoftwareVertexProcessing.

Zitat von »"SUPERN00B"«

und: nutzt D3D alle verfügbaren Hardware-Features automatisch aus, oder muss z.B. Hardware T'n'L ausdruecklich aktiviert werden?

Solange Du nicht ausdrücklich eine Software-Emulation wünschst (D3DCREATE_SOFTWARE_VERTEXPROCESSING): ja!

Anonymous

unregistriert

5

13.11.2003, 14:51

danke danke!

dann gehts auf zum triangle!

Werbeanzeige