Compartilhar via


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.

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 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

D3DHAL_DP2COMMAND

D3DHAL_DRAWPRIMITIVES2DATA

D3DRENDERSTATETYPE

D3dDrawPrimitives2