Direct3D ist eine Komponente der Microsoft DirectX Rahmen . Es bietet eine einheitliche Schnittstelle für den Zugriff auf 3D-Hardware -und Software- Geräte und wird über eine Programmiersprache, die direkt oder Wrapper -basierte Unterstützung für sie hat. Programmierung in 3D-Umgebungen erfordert über eine Leitung mit dem Direct3D -Rendering -Gerät in den frühen Codeausführung so Informationen in das System für die Änderung und Display geschrieben werden können. Bekannt als IDirect3DDevice9 ist diese Schnittstelle erweiterbar und abgeleitet aus dem Component Object Model IUnknown -Schnittstelle. Es ermöglicht Ihnen, Primitiven durch Code , Last Ressourcen und komplexe Objekte zu zeichnen , zu modifizieren Anwendung Variablen anpassen Gamma-und Farbpalette Einstellungen und wenden Shader Ihre Texturen. Anleitung
1
erstellen struct in Ihrem Code , die alle Parameter, mit denen das Direct3D-Gerät initialisiert werden definiert . Die DirectX- API definiert eine Struktur wie D3DPRESENT_PARAMETERS , die alle relevanten Felder enthält bekannt. Konsultieren Sie Ihren SDK -Hilfedatei D3DPRPESENT_PARAMETERS und IDirect3DDevice9 Konstruktor . Die Hilfe-Datei ist eine . Chm Dokument in der SDK -Installationsverzeichnis .
2
erstellen einen Zeiger auf die Schnittstelle, die IDirect3DDevice9 nicht initialisiert ist. Sie verwenden diese Zeiger auf das Singleton IDirect3DDevice9 Struktur im Speicher verweisen. Erstellen Sie ein Null-Zeiger mit diesem Code : IDirect3DDevice9 * p_Device = NULL;
3
Bestimmen Sie die Parameter, mit denen Sie die Direct3D-Gerät zu initialisieren. . Sie müssen die SDK-Referenz für eine vollständige Liste der Parameter für Ihre Version von DirectX zu konsultieren , aber erforderlichen Parameter sind die Adapter -Typ, die Beschleunigung Modus , ein Griff, um das Fenster des Programms in Windows , eine Ecke processing mode , die D3DPRESENT_PARAMETERS Struktur , und der Zeiger auf dem Gerät in Schritt 2 erstellt haben.
4
Pass alle Parameter durch Ihre Direct3D -Schnittstelle. Ein HRESULT zurückgegeben, der angibt, ob die Operation erfolgreich war oder ein Fehler war . Zum Beispiel: .
Hresult = p_d3di -> CreateDevice ( D3DADAPTER_DEFAULT , D3DDEVTYPE_HAL , appWnd , D3DCREATE_HARDWARE_VERTEXPROCESSING & p_PresentParams & p_Device );
5
Führen Sie eine Kontrolle über die hresult der Aktion Flußkontrolle Betreiber . Gehen Sie nur, wenn Sie eine Direct3D-Gerät zu schreiben, um die Anwendung zum Absturz zu verhindern. Zum Beispiel:
if ( FAILED ( HRESULT ) ) {//Deallocate alle Ressourcen , Anzeige Fehlermeldung Feld Programm beenden }
.