Das Direct3D-Rendering-Gerät erstellen

October 23

Direct3D ist eine Komponente von Microsoft DirectX Framework. Es bietet eine einheitliche Schnittstelle zum Zugriff auf 3D Hardware und Software Geräte und wird gesteuert mit einer Programmiersprache, die direkten oder Wrapper-basierte es unterstützt. Programmierung in 3D-Umgebungen erfordert die Erstellung ein Rohr auf das Direct3D-Wiedergabe-Gerät früh in Code-Ausführung, so dass die Informationen in das System zur Modifikation und Display geschrieben werden kann. Bekannt als IDirect3DDevice9, ist diese Schnittstelle erweiterbar und abgeleitete von der Component Object Model IUnknown-Schnittstelle. Es können Sie zeichnen primitive durch Code, Ressourcen und komplexe Objekte zu laden, Ändern von Anwendungsvariablen, Gamma und Farbe Farbpalette anpassen und Shader auf Ihre Texturen anwenden.

Anweisungen

1 Erstellen Sie eine Struktur im Code, der alle Parameter definiert, mit denen das Direct3D-Gerät initialisiert wird. Die DirectX-API definiert eine Struktur genannt D3DPRESENT_PARAMETERS, die alle relevanten Felder enthält. Konsultieren Sie die SDK-Hilfedatei für D3DPRPESENT_PARAMETERS und der IDirect3DDevice9-Konstruktor. Die Hilfedatei ist eine CHM-Dokument befindet sich in das SDK installieren Verzeichnis.

2 Erstellen Sie einen Zeiger auf die IDirect3DDevice9-Schnittstelle, die nicht initialisiert ist. Sie werden diesen Zeiger verwenden, um das Singleton IDirect3DDevice9 Struktur im Speicher zu verweisen. Erstellen Sie einen null-Zeiger mit diesem Code: IDirect3DDevice9 * P_Device = NULL;.

3 Bestimmen Sie die Parameter, mit denen Sie die Direct3D-Gerät initialisieren möchten. Sie müssen eine vollständige Liste der Parameter für Ihre Version von DirectX finden Sie in der SDK-Referenz, aber erforderlichen Parameter sind Adaptertyp, die Beschleunigung-Modus, ein Handle für das Programm-Fenster in Windows ein Vertex-Verarbeitungsmodus, die D3DPRESENT_PARAMETERS Struktur und den Zeiger auf das Gerät, das in Schritt 2 erstellten.

4 Die Direct3D-Schnittstelle durchlaufen Sie alle Parameter. Ein Hresult wird zurückgegeben werden, die angeben, ob der Vorgang erfolgreich war oder ein Misserfolg. Zum Beispiel:HRESULT = p_d3di -> CreateDevice (D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, AppWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, & P_PresentParams, & P_Device);.

5 Führen Sie eine Überprüfung auf das Hresult die Fluss-Kontroll-Operatoren-Aktion aus. Gehen Sie nur, wenn ein Direct3D-Gerät zu schreiben, um die Anwendung vor einem Absturz zu verhindern. Zum Beispiel:if(failed(HRESULT)) {/ / alle Ressourcen freigeben, Ausfall-Meldungsfeld anzuzeigen, Programm beenden}.