Grupos de estado de efeito (Direct3D 11)
Estados de efeito são pares de valor de nome na forma de uma expressão.
- Estado do Blend
- Estado de profundidade e estêncil
- Estado do rasterizador
- Estado do sampler
- Estado do objeto Effect
- Definindo e usando objetos de estado
- Tópicos relacionados
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 );
Tópicos relacionados