Come creare il dispositivo Direct3D Rendering

January 6

Direct3D è un componente del framework Microsoft DirectX. Esso fornisce un'interfaccia coerente per l'accesso ai dispositivi hardware e software 3D ed è controllato tramite un linguaggio di programmazione che ha il supporto diretto o involucro a base per esso. Programmazione in ambienti 3D richiede la creazione di un tubo al dispositivo Direct3D rendere presto l'esecuzione di codice in modo le informazioni possono essere scritti nel sistema per la modifica e la visualizzazione. Conosciuto come IDirect3DDevice9, questa interfaccia è estensibile e derivato dal modello Component Object interfaccia IUnknown. Esso permette di disegnare primitive tramite il codice, le risorse di carico e di oggetti complessi, modificare le variabili di applicazione, regolare le impostazioni di gamma e tavolozza dei colori e applicare shader per le texture.

istruzione

1 Creare una struttura nel codice che definisce tutti i parametri con i quali verrà inizializzato il dispositivo Direct3D. L'API DirectX definisce una struttura nota come D3DPRESENT_PARAMETERS che contiene tutti i settori pertinenti. Consultare il file di aiuto SDK per D3DPRPESENT_PARAMETERS e il costruttore IDirect3DDevice9. Il file di aiuto è un documento chm si trova nella directory di installazione di SDK.

2 Creare un puntatore all'interfaccia IDirect3DDevice9 che non viene inizializzato. Si utilizzerà questo puntatore per fare riferimento al Singleton IDirect3DDevice9 struttura in memoria. Creare un puntatore nullo con questo codice: IDirect3DDevice9 * p_Device = NULL ;.

3 Determinare i parametri con cui si desidera inizializzare il dispositivo Direct3D. Sarà necessario consultare il riferimento SDK per una lista completa dei parametri per la versione di DirectX, ma necessari parametri sono il tipo di adattatore, la modalità di accelerazione, una maniglia per la finestra del programma in Windows, una modalità di elaborazione dei vertici, la struttura D3DPRESENT_PARAMETERS, e il puntatore al dispositivo creato nel passaggio 2.

4 Passare tutti i parametri tramite l'interfaccia Direct3D. Un HRESULT sarà restituito, precisando se l'operazione ha avuto successo o un fallimento. Per esempio:
hresult = p_d3di-> CreateDevice (D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, appWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, e p_PresentParams, e p_Device) ;.

5 Eseguire un controllo sulla hresult dell'azione utilizzando operatori di controllo del flusso. Procedere solo se si dispone di un dispositivo Direct3D di scrivere al fine di evitare che l'applicazione da blocchi del sistema. Per esempio:
if (FAILED (HRESULT)) {// rilasciare tutte le risorse, di dialogo messaggio di errore di visualizzazione, terminare il programma}.