Direct3D är en komponent i Microsoft DirectX ramverket . Det ger ett enhetligt gränssnitt för att komma åt 3D hårdvara och enheter programvara och styrs med hjälp av ett programmeringsspråk som har direkt eller wrapper - baserat stöd för det . Programmering i 3D-miljöer kräver upprättande av ett rör till Direct3D rendering enheten i början av kod så att informationen kan skrivas in i systemet för modifiering och visning . Känd som IDirect3DDevice9 , är detta gränssnitt töjbar och härrör från Component Object Model IUnknown gränssnitt . Det gör att du kan rita primitiver genom kod , resurser belastning och komplexa objekt , ändra ansökan variabler , justera gamma och färginställningar paletten och tillämpa shaders till dina texturer . Instruktioner
1
Skapa en struct i din kod som definierar alla parametrar med vilka Direct3D -enheten kommer att initieras . Den DirectX API definierar en struct som kallas D3DPRESENT_PARAMETERS som innehåller alla relevanta områden . Rådgör med din SDK hjälpfil D3DPRPESENT_PARAMETERS och IDirect3DDevice9 konstruktör. Hjälpfilen är en . CHM dokument finns i SDK install katalogen .
2
Skapa en pekare till IDirect3DDevice9 gränssnitt som inte är initierad . Du kommer att använda denna pekare för att referera till Singleton IDirect3DDevice9 strukturen i minnet . Skapa en nollpekare med denna kod : IDirect3DDevice9 * p_Device = null;
3
Bestäm parametrarna som du vill initiera Direct3D Device . . Du kommer att behöva rådfråga SDK referens för en fullständig lista över parametrar för din version av DirectX , men obligatoriska parametrar är adaptern typ , accelerationen läge , ett handtag till programmets fönster i Windows , en vertex bearbetning läge , den D3DPRESENT_PARAMETERS struktur , och pekaren till enheten skapade i steg 2 .
4
Pass alla parametrar via din Direct3D gränssnitt . En HRESULT kommer att returneras , som anger om åtgärden lyckades eller ett misslyckande . Till exempel : .
HRESULT = p_d3di - > CreateDevice ( D3DADAPTER_DEFAULT , D3DDEVTYPE_HAL , appWnd , D3DCREATE_HARDWARE_VERTEXPROCESSING , & p_PresentParams , & p_Device ) ,
5
Utför en kontroll på HRESULT av åtgärden med operatörer flödeskontroll . Fortsätt bara om du har en Direct3D enhet att skriva till för att förhindra programmet från att krascha . Till exempel :
om ( FAILED ( HRESULT ) ) { //deallokera alla resurser , display misslyckande meddelanderutan avsluta programmet } Addera
.