Compartilhar via


estrutura D3DHAL_DP2RENDERSTATE (d3dhal.h)

Uma ou mais estruturas D3DHAL_DP2RENDERSTATE são analisadas do buffer de comando pelo D3dDrawPrimitives2 retorno de chamada quando o membro bCommand da estrutura D3DHAL_DP2COMMAND está definido como D3DDP2OP_RENDERSTATE e é usado 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 tipo D3DRENDERSTATETYPE 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 que são usados exclusivamente por 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 ao qual o driver deve atualizar o estado de renderização identificado pelo RenderState. Esse membro é válido quando RenderState requer um DWORD.

Observações

D3dDrawPrimitives2 deve processar estruturas wStateCount D3DHAL_DP2RENDERSTATE do buffer de comando. O valor de wStateCount é especificado na estrutura de 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 à qual o lpdwRStates membro 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] a ser D3DSHADE_GOURAUD. O driver também deve atualizar seu estado privado adequadamente.

Figura mostrando um buffer de comando com um comando D3DDP2OP_RENDERSTATE e duas estruturas D3DHAL_DP2RENDERSTATE Embora os estados de renderização cujos valores sejam boolianos no tipo sejam documentados como aceitando apenas VERDADEIRO(1) e FALSE(0) o runtime não valida isso e aceita qualquer valor de subzero como verdadeiro. O driver de exemplo interpreta isso estritamente e interpreta valores diferentes de 1 como sendo VERDADEIRO. No entanto, como o runtime não oferece validação, o driver deve interpretar 0 como FALSE e qualquer outro valor de subzero como VERDADEIRO. Nesse aspecto, o driver não deve imitar o comportamento do driver de exemplo fornecido.

Requisitos

Requisito Valor
cabeçalho d3dhal.h (inclua D3dhal.h)

Consulte também

D3DDP2OP_RENDERSTATE

D3DHAL_DP2COMMAND

D3DHAL_DRAWPRIMITIVES2DATA

D3DRENDERSTATETYPE

D3dDrawPrimitives2