Grupos de estado del efecto (Direct3D 10)

Los estados de efecto son pares nombre-valor en forma de expresión.

Estado de blend

Estado del efecto Grupo
ALPHATOCOVERAGEENABLE, BLENDENABLE, SRCBLEND, DESTBLEND, BLENDOP, SRCBLEPHA, DESTBLEPHA, BLENDOPALPHA, RENDERTARGETWRITEMASK Miembros de D3D10 _ BLEND _ DESC

Profundidad y estado de galería de símbolos

Estado del efecto Grupo
DEPTHENABLE, DEPTHWRITEMASK, DEPTHFUNC, STENCILENABLE, STENCILREADMASK, STENCILWRITEMASK Miembros de D3D10 _ DEPTH _ STENCIL _ DESC
FRONTFACESTENCICOHERENCIAIL, FRONTFACESTENCILZFAIL, FRONTFACESTENCILPASS, FRONTFACESTENCILFUNC, BACKFACESTENCINCIIL, BACKFACESTENCILZFAIL, BACKFACESTENCILPASS, BACKFACESTENCILFUNC Miembro de D3D10 _ DEPTH _ STENCISTONE _ DESC

Estado del rasterizador

Estado del efecto Grupo
FILLMODE MODO DE RELLENO D3D10 _ _
CULLMODE MODO CULL D3D10 _ _
FRONTCOUNTERCLOCKWISE, DEPTHBIAS, DEPTHBIASCLAMP,SAMPLEEDDEPTHBIAS, ZCLIPENABLE,SAMPLEENABLE, MULTISAMPLEENABLE, ANTIALIASEDLINEENABLE Miembros de D3D10 _ RASTERIZER _ DESC

Estado del muestreador

Estado del efecto Grupo
Filter, AddressU, AddressV, AddressW, MipLODBias, MaxAnisotropy, ComparisonFunc, BorderColor, MinLOD, MaxLOD Miembros de D3D10 _ SAMPLER _ DESC

Vea Sampler type (DirectX HLSL) (Tipo de sampler [HLSL de DirectX]) para obtener ejemplos.

Estado del objeto de efecto

Este objeto de efecto Se asigna a
RASTERIZERSTATE Objeto de estado de rasterizador.
DEPTHSTENCILSTATE Objeto de estado Depth y Stencil State.
BLENDSTATE Objeto de estado de blend.
VERTEXSHADER Objeto de sombreador de vértices compilado.
PIXELSHADER Objeto de sombreador de píxeles compilado.
GEOMETRYSHADER Objeto de sombreador de geometría compilado.
DS _ STENCILREF AB _ BLENDFACTOR AB _ SAMPLEMASK Miembros de D3D10 _ PASS _ DESC.

Definición y uso de objetos de estado

Los objetos de estado se declaran en archivos FX en el formato siguiente. StateObjectType es uno de los estados enumerados anteriormente y MemberName es el nombre de cualquier miembro que tenga un valor no predeterminado.

StateObjectType ObjectName {
 MemberName = value;
 ...
 MemberName = value;
};

Por ejemplo, para configurar un objeto de estado de mezcla con AlphaToCoverageEnable y BlendEnable 0 establecidos en FALSE, se usaría [ ] el código siguiente.

BlendState NoBlend {
 AlphaToCoverageEnable = FALSE;
 BlendEnable[0] = FALSE;
};

El objeto de estado se aplica a un paso de técnica mediante una de las funciones SetStateGroup descritas en Sintaxis de técnica de efecto (Direct3D 10). Por ejemplo, para aplicar el objeto BlendState descrito anteriormente, se usaría el código siguiente.

SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );

Para ver un tutorial en el que se describe el uso de estados, vea Administración de estado.