Share via


Guardar estados de vértice con un StateBlock (Direct3D 9)

Se puede usar un bloque de estado para capturar solo el estado de vértice (consulte State Blocks Save and Restore State (Direct3D 9)). El siguiente estado es el estado de vértice:

Para capturar el estado de vértice con un bloque de estado, especifique D3DSBT_VERTEXSTATE al llamar a IDirect3DDevice9::CreateStateBlock.

Canalización de vértices: estado de representación

Los estados de representación del dispositivo afectan al comportamiento de casi todas las partes de la canalización. Los estados de representación se establecen llamando a IDirect3DDevice9::SetRenderState.

En la tabla siguiente se incluyen todos los estados de representación que configuran el estado del vértice:

Estados de representación Valor predeterminado
D3DRS_CULLMODE D3DCULL_CCW
D3DRS_FOGCOLOR 0
D3DRS_FOGTABLEMODE D3DFOG_NONE
D3DRS_FOGSTART 0
D3DRS_FOGEND 1
D3DRS_FOGDENSITY 1
D3DRS_RANGEFOGENABLE FALSE
D3DRS_AMBIENT 0
D3DRS_COLORVERTEX TRUE
D3DRS_FOGVERTEXMODE D3DFOG_NONE
D3DRS_CLIPPING TRUE
D3DRS_LIGHTING TRUE
D3DRS_LOCALVIEWER TRUE
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 Dependiente del controlador
D3DRS_POINTSIZE_MIN 1
D3DRS_POINTSPRITEENABLE FALSE
D3DRS_POINTSCALEENABLE FALSE
D3DRS_POINTSCALE_A 1
D3DRS_POINTSCALE_B 0
D3DRS_POINTSCALE_C 0
D3DRS_MULTISAMPLEANTIALIAS TRUE
D3DRS_MULTISAMPLEMASK 0xffffffff
D3DRS_PATCHEDGESTYLE D3DPATCHEDGE_DISCRETE
D3DRS_POINTSIZE_MAX 1
D3DRS_INDEXEDVERTEXBLENDENABLE FALSE
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"/> FALSE

 

Canalización de vértices: estado del sampler

Los estados de sampler controlan los temas relacionados con el muestreo, como el filtrado, el mosaico y los modos de dirección de coordenadas de textura. Use IDirect3DDevice9::SetSamplerState para configurar el estado del muestreador (incluido el usado en la unidad de teselador para muestrear mapas de desplazamiento). Se ha cambiado el nombre de los estados del sampler con un prefijo "D3DSAMP_" para habilitar la detección de errores en tiempo de compilación al migrar desde DirectX 8.

En la tabla siguiente se incluyen todos los estados del sampler que configuran el estado del vértice:

Estados del sampler Valor predeterminado
D3DSAMP_DMAPOFFSET 256

 

Canalización de vértices: estado de textura

Los estados de textura controlan las operaciones de combinación de texturas del combinador de varias texturas. Use IDirect3DDevice9::SetTextureStageState para configurar estados de textura. Use IDirect3DDevice9::SetTexture para asociar una textura a una fase del muestreador.

En la tabla siguiente se incluyen todos los estados de textura que configuran el estado de vértice:

Estados de textura Valor predeterminado
D3DTSS_TEXCOORDINDEX 0
D3DTSS_TEXTURETRANSFORMFLAGS D3DTTFF_DISABLE

 

D3DTSS_TEXCOORDINDEX es un estado fijo de procesamiento de vértices de función. Si se usa un sombreador de vértices programables, este estado se omite.

Estado de guardado y restauración de bloques de estado