Partilhar via


Grupos de estado de efeito (Direct3D 11)

Estados de efeito são pares de valor de nome na forma de uma expressão.

Estado de mesclagem

Estado do efeito Grupo
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK Membros do D3D11_BLEND_DESC

 

Estado de profundidade e estêncil

Estado do efeito Grupo
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK Membros do D3D11_DEPTH_STENCIL_DESC
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC Membro do D3D11_DEPTH_STENCILOP_DESC

 

Estado do rasterizador

Estado do efeito Grupo
FILLMODE D3D11_FILL_MODE
CULLMODE D3D11_CULL_MODE
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIAS ZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE Membros do D3D11_RASTERIZER_DESC

 

Estado do sampler

Estado do efeito Grupo
Filter AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD Membros do D3D11_SAMPLER_DESC

 

Consulte Tipo de amostra (DirectX HLSL) para obter exemplos.

Estado do objeto Effect

Este objeto effect É mapeada para
RASTERIZERSTATE Um objeto de estado do rasterizador .
DEPTHSTENCILSTATE Um objeto de estado de profundidade e estêncil .
BLENDSTATE Um objeto de estado blend state .
VERTEXSHADER Um objeto de sombreador de vértice compilado.
PIXELSHADER Um objeto de sombreador de pixel compilado.
GEOMETRYSHADER Um objeto de sombreador de geometria compilado.
DS_STENCILREFAB_BLENDFACTORAB_SAMPLEMASK Membros do D3DX11_PASS_DESC.

 

Definindo e usando objetos de estado

Os objetos de estado são declarados em arquivos FX no formato a seguir. StateObjectType é um dos estados listados acima e MemberName é o nome de qualquer membro que terá um valor não padrão.

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

Por exemplo, para configurar um objeto de estado de combinação com AlphaToCoverageEnable e BlendEnable[0] definido como FALSE , o código a seguir seria usado.

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

O objeto de estado é aplicado a uma passagem de técnica usando uma das funções SetStateGroup descritas em Sintaxe de técnica de efeito (Direct3D 11). Por exemplo, para aplicar o objeto BlendState descrito acima, o código a seguir seria usado.

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

Sintaxe da Técnica de Efeito

Formato de efeito (Direct3D 11)