Partilhar via


Salvando estados de vértice com um StateBlock (Direct3D 9)

Um bloco de estado pode ser usado para capturar apenas o estado de vértice (consulte State Blocks Save and Restore State (Direct3D 9)). O seguinte estado é o estado do vértice:

Para capturar o estado de vértice com um bloco de estado, especifique D3DSBT_VERTEXSTATE ao chamar IDirect3DDevice9::CreateStateBlock.

Vertex Pipeline: Estado de renderização

Os estados de renderização do dispositivo afetam o comportamento de quase todas as partes do pipeline. Os estados de renderização são definidos chamando IDirect3DDevice9::SetRenderState.

A tabela a seguir inclui todos os estados de renderização que configuram o estado do vértice:

Estados de renderização Valor padrão
D3DRS_CULLMODE D3DCULL_CCW
D3DRS_FOGCOLOR 0
D3DRS_FOGTABLEMODE D3DFOG_NONE
D3DRS_FOGSTART 0
D3DRS_FOGEND 1
D3DRS_FOGDENSITY 1
D3DRS_RANGEFOGENABLE FALSO
D3DRS_AMBIENT 0
D3DRS_COLORVERTEX VERDADEIRO
D3DRS_FOGVERTEXMODE D3DFOG_NONE
D3DRS_CLIPPING VERDADEIRO
D3DRS_LIGHTING (iluminação) VERDADEIRO
D3DRS_LOCALVIEWER VERDADEIRO
D3DRS_EMISSIVEMATERIALSOURCE D3DMCS_MATERIAL
D3DRS_AMBIENTMATERIALSOURCE D3DMCS_MATERIAL
D3DRS_DIFFUSEMATERIALSOURCE D3DMCS_COLOR1
D3DRS_SPECULARMATERIALSOURCE D3DMCS_COLOR2
D3DRS_VERTEXBLEND D3DVBF_DISABLE
D3DRS_CLIPPLANEENABLE 0
D3DRS_POINTSIZE Dependente do condutor
D3DRS_POINTSIZE_MIN 1
D3DRS_POINTSPRITEENABLE FALSO
D3DRS_POINTSCALEENABLE FALSO
D3DRS_POINTSCALE_A 1
D3DRS_POINTSCALE_B 0
D3DRS_POINTSCALE_C 0
D3DRS_MULTISAMPLEANTIALIAS VERDADEIRO
D3DRS_MULTISAMPLEMASK 0xffffffff
D3DRS_PATCHEDGESTYLE D3DPATCHEDGE_DISCRETE
D3DRS_POINTSIZE_MAX 1
D3DRS_INDEXEDVERTEXBLENDENABLE FALSO
D3DRS_TWEENFACTOR 0
D3DRS_POSITIONDEGREE D3DDEGREE_CUBIC
D3DRS_NORMALDEGREE D3DDEGREE_LINEAR
D3DRS_MINTESSELLATIONLEVEL 1
D3DRS_MAXTESSELLATIONLEVEL 1
D3DRS_ADAPTIVETESS_X 0
D3DRS_ADAPTIVETESS_Y 0
D3DRS_ADAPTIVETESS_Z 1
D3DRS_ADAPTIVETESS_W 0
D3DRS_ENABLEADAPTIVETESSELLATION"/> FALSO

 

Vertex Pipeline: Estado do amostrador

Os estados do amostrador controlam tópicos relacionados à amostragem, como filtragem, mosaico e modos de endereço de coordenadas de textura. Use IDirect3DDevice9::SetSamplerState para configurar o estado do amostrador (incluindo o usado na unidade tessellator para amostrar mapas de deslocamento). Os estados do amostrador foram renomeados com um prefixo "D3DSAMP_" para permitir a deteção de erros em tempo de compilação ao portar do DirectX 8.

A tabela a seguir inclui todos os estados do amostrador que configuram o estado do vértice:

Estados de Amostragem Valor padrão
D3DSAMP_DMAPOFFSET 256

 

Vertex Pipeline: Estado de textura

Os estados de textura controlam as operações de mistura de textura do misturador multitextura. Use IDirect3DDevice9::SetTextureStageState para configurar estados de textura. Use IDirect3DDevice9::SetTexture para associar uma textura a uma etapa do amostrador.

A tabela a seguir inclui todos os estados de textura que configuram o estado do vértice:

Estados de textura Valor padrão
D3DTSS_TEXCOORDINDEX 0
D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE

 

D3DTSS_TEXCOORDINDEX é um estado de processamento de vértice de função fixa. Se um sombreador de vértice programável for usado, esse estado será ignorado.

Blocos de Estado para Salvar e Restaurar o Estado