estrutura D3DHAL_DP2RENDERSTATE (d3dhal.h)
Uma ou mais estruturas de D3DHAL_DP2RENDERSTATE são analisadas do buffer de comando pelo retorno de chamada D3dDrawPrimitives2 quando o membro bCommand da estrutura D3DHAL_DP2COMMAND é definido como D3DDP2OP_RENDERSTATE e são usados para definir o estado de renderização apropriado.
Sintaxe
typedef struct _D3DHAL_DP2RENDERSTATE {
D3DRENDERSTATETYPE RenderState;
union {
D3DVALUE dvState;
DWORD dwState;
};
} D3DHAL_DP2RENDERSTATE;
Membros
RenderState
Especifica um D3DRENDERSTATETYPE tipo enumerado que indica o estado de renderização a ser atualizado. Os estados de renderização solicitados no nível do aplicativo são descritos na documentação do SDK do DirectX. Os estados de renderização usados exclusivamente pelos drivers são descritos em D3DRENDERSTATETYPE.
dvState
Especifica o valor com o qual o driver deve atualizar o estado de renderização identificado pelo membro RenderState . Esse membro é válido quando RenderState requer um D3DVALUE.
dwState
Especifica o valor para o qual o driver deve atualizar o estado de renderização identificado por RenderState . Esse membro é válido quando RenderState requer um DWORD.
Comentários
D3dDrawPrimitives2 deve processar estruturasde D3DHAL_DP2RENDERSTATE wStateCount do buffer de comando. O valor de wStateCount é especificado na estrutura D3DHAL_DP2COMMAND.
Para cada estrutura D3DHAL_DP2RENDERSTATE, D3dDrawPrimitives2 deve atualizar o estado de renderização privada do driver e a matriz de estado de renderização para a qual o membro lpdwRStates do D3DHAL_DRAWPRIMITIVES2DATA aponta. O elemento a ser atualizado na matriz de estado de renderização pública é lpdwRStates[RenderState].
A figura a seguir mostra uma parte de um buffer de comando de exemplo que contém um comando D3DDP2OP_RENDERSTATE e duas estruturas D3DHAL_DP2RENDERSTATE. O driver deve atualizar lpdwRStates[D3DRENDERSTATE_FILLMODE] para ser D3DFILL_SOLID e lpdwRStates[D3DRENDERSTATE_SHADEMODE] para ser D3DSHADE_GOURAUD. O driver também deve atualizar seu estado privado adequadamente.
Embora os estados de renderização cujos valores sejam boolianos no tipo sejam documentados como aceitando apenas TRUE(1) e FALSE(0), o runtime não valida isso e aceita qualquer valor de subzero como true. O driver de exemplo interpreta isso estritamente e interpreta valores diferentes de 1 como sendo TRUE. No entanto, como o runtime não oferece validação, o driver deve interpretar 0 como FALSE e qualquer outro valor de subzero como TRUE. Nesse sentido, o driver não deve imitar o comportamento do driver de exemplo fornecido.Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3dhal.h (inclua D3dhal.h) |
Confira também
D3DDP2OP_RENDERSTATE