struttura D3DHAL_DP2RENDERSTATE (d3dhal.h)

Una o più strutture D3DHAL_DP2RENDERSTATE vengono analizzate dal buffer dei comandi dal callback D3dDrawPrimitives2 quando il membro bCommand della struttura D3DHAL_DP2COMMAND è impostato su D3DDP2OP_RENDERSTATE e vengono usati per impostare lo stato di rendering appropriato.

Sintassi

typedef struct _D3DHAL_DP2RENDERSTATE {
  D3DRENDERSTATETYPE RenderState;
  union {
    D3DVALUE dvState;
    DWORD    dwState;
  };
} D3DHAL_DP2RENDERSTATE;

Members

RenderState

Specifica un tipo enumerato D3DRENDERSTATETYPE che indica lo stato di rendering da aggiornare. Gli stati di rendering richiesti a livello di applicazione sono descritti nella documentazione di DirectX SDK. Gli stati di rendering usati esclusivamente dai driver sono descritti in D3DRENDERSTATETYPE.

dvState

Specifica il valore con cui il driver deve aggiornare lo stato di rendering identificato dal membro RenderState . Questo membro è valido quando RenderState richiede un D3DVALUE.

dwState

Specifica il valore a cui il driver deve aggiornare lo stato di rendering identificato da RenderState . Questo membro è valido quando RenderState richiede un DWORD.

Commenti

D3dDrawPrimitives2 deve elaborare wStateCount D3DHAL_DP2RENDERSTATE strutture dal buffer dei comandi. Il valore di wStateCount viene specificato nella struttura D3DHAL_DP2COMMAND.

Per ogni struttura D3DHAL_DP2RENDERSTATE, D3dDrawPrimitives2 deve aggiornare lo stato di rendering privato del driver e la matrice di stato di rendering a cui punta il membro lpdwRStates di D3DHAL_DRAWPRIMITIVES2DATA . L'elemento da aggiornare nella matrice di stato di rendering pubblico è lpdwRStates[RenderState].

La figura seguente mostra una parte di un buffer di comandi di esempio contenente un comando D3DDP2OP_RENDERSTATE e due strutture D3DHAL_DP2RENDERSTATE. Il driver deve aggiornare lpdwRStates[D3DRENDERSTATE_FILLMODE] in modo che sia D3DFILL_SOLID e lpdwRStates[D3DRENDERSTATE_SHADEMODE] in modo che sia D3DSHADE_GOURAUD. Il driver deve anche aggiornare il proprio stato privato di conseguenza.

Figura che mostra un buffer dei comandi con un comando D3DDP2OP_RENDERSTATE e due strutture D3DHAL_DP2RENDERSTATE Anche se gli stati di rendering i cui valori sono booleani nel tipo sono documentati come accettano solo TRUE(1) e FALSE(0) il runtime non convalida questo valore e accetta qualsiasi valore sottozero come true. Il driver di esempio interpreta rigorosamente questo valore e interpreta i valori diversi da 1 come TRUE. Tuttavia, poiché il runtime non offre la convalida, il driver deve interpretare 0 come FALSE e qualsiasi altro valore secondario come TRUE. In questo senso, il driver non deve simulare il comportamento del driver di esempio fornito.

Requisiti

Requisito Valore
Intestazione d3dhal.h (include D3dhal.h)

Vedi anche

D3DDP2OP_RENDERSTATE

D3DHAL_DP2COMMAND

D3DHAL_DRAWPRIMITIVES2DATA

D3DRENDERSTATETYPE

D3dDrawPrimitives2