Direct3D / Direct3DX ?
-
http://de.wikipedia.org/wiki/DirectX
DirectX Graphics stellt sowohl eine Low-Level-API (Direct3D), als auch eine High-Level-API (Direct3DX) bereit. Die Low-Level-API Direct3D eignet sich für Anwendungen mit hoher Interaktionsrate und/oder Präsentationsfrequenz komplexer grafischer Szenen, wie beispielsweise bei 3D-Spielen.
Worin bestehen die Unterschiede zwischen Direct3D und Direct3DX? Was kann Direct3DX konkret (Beispiele machen sich hier gut ;)) was Direct3D nur kann wenn man es selber frickelt? Lohnt es wirklich noch sich mit Direct3D zu beschäftigen? Werden moderne und grafisch anspruchsvolle Spiele (Crysis, Guild Wars 2, etc.) in Direct3D geschrieben? Welche Vorteile hat Direct3D gegenüber Direct3DX?
-
D3DX ist nur eine Bibliothek mit Hilfsfunktionen für im Zusammenhang mit D3D häufig benötigte Dinge (z.B. Mathekram und so) und kein Ersatz für D3D
-
Dann ist die Aussage auf Wikipedia dass gerade die Low-Level API sich für "Anwendungen mit hoher Interaktionsrate und/oder Präsentationsfrequenz" eignet zumindest etwas irreführend? Denn der "Mathekram und so" wird wohl nicht grotten schlecht implementiert worden sein oder?
-
Du solltest dir lieber die Frage stellen auf welchen Plattformen deine Spiele laufen sollen. DirectX läuft nur auf windows. Directx 10 lohnt sich nicht zu beginnen. Also hast du die Wahl zwischen DX9, DX11 und OpenGL. letzteres läuft praktisch überall. DX9 nur auf Windows und DX11 nur auf Vista und höher. Wenn du dich für DX11 entscheidest musst/solltest du gleich auch HLSL lernen um effiziente Shader zu programmieren.
-
"mathekram" ist nur ein sehr kleiner teil von d3dx. es gibt texture loading, prt, progressive mesh, effects framework usw. als high level tools.
im gegensatz dazu ist d3d low level wo du all das selbst schreiben muesstest.dein fragen qualifiziert dich also schon fast fuer d3dx
-
Na ja, ich fange eigentlich immer ganz gerne mit low-level Kram an
Allerdings finde ich auch kaum Tutorials oder sowas für Direct3D ohne X, gibt es sowas überhaupt?Und eine Frage bleibt noch offen:
Was ist denn jetzt mit Spielen wie Crysis / Guild Wars 2 / WasWeißIch; schreiben die das D3DX Zeug dann selbst? Kann man das überhaupt so allgemein sagen?
-
Diese verwenden auch das DirectX Framework oder eben OpenGL.
-
Ohne D3DX wirst du nichtmal nen Shader compiliert bekommen.
Die Frage ist weniger ob du D3DX überhaupt verwenden willst, sondern eher wieviel du davon verwenden willst.
-
hustbaer schrieb:
Ohne D3DX wirst du nichtmal nen Shader compiliert bekommen.
Hängt von der D3D Version ab, neuerdings ist der Shader Compiler in eine eigene lib gewandert. Auch kann man Shader vorkompilieren