Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os estados de efeito são pares nome-valor na forma de uma expressão.
Estado de combinação
| Estado do efeito | Grupo |
|---|---|
| ALPHATOCOVERAGEENABLE, BLENDENABLE, SRCBLEND, DESTBLEND, BLENDOP, SRCBLENDALPHA, DESTBLENDALPHA, BLENDOPALPHA, RENDERTARGETWRITEMASK | Membros do D3D10_BLEND_DESC |
Estado de profundidade e estêncil
| Estado do efeito | Grupo |
|---|---|
| DEPTHENABLE, DEPTHWRITEMASK, DEPTHFUNC, STENCILENABLE, STENCILREADMASK, STENCILWRITEMASK | Membros do D3D10_DEPTH_STENCIL_DESC |
| FRONTFACESTENCILFAIL, FRONTFACESTENCILZFAIL, FRONTFACESTENCILPASS, FRONTFACESTENCILFUNC, BACKFACESTENCILFAIL, BACKFACESTENCILZFAIL, BACKFACESTENCILPASS, BACKFACESTENCILFUNC | Membro do D3D10_DEPTH_STENCILOP_DESC |
Estado do rasterizador
| Estado do efeito | Grupo |
|---|---|
| FILLMODE | D3D10_FILL_MODE |
| CULLMODE | D3D10_CULL_MODE |
| FRONTCOUNTERCLOCKWISE, DEPTHBIAS, DEPTHBIASCLAMP, SLOPESCALEDDEPTHBIAS, ZCLIPENABLE, SCISSORENABLE, MULTISAMPLEENABLE, ANTIALIASEDLINEENABLE | Membros do D3D10_RASTERIZER_DESC |
Estado de amostra
| Estado do efeito | Grupo |
|---|---|
| Filter, AddressU, AddressV, AddressW, MipLODBias, MaxAnisotropy, ComparisonFunc, BorderColor, MinLOD, MaxLOD | Membros do D3D10_SAMPLER_DESC |
Consulte Tipo de amostra (DirectX HLSL) para obter exemplos.
Estado do objeto Effect
| Este objeto de efeito | É 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_STENCILREF AB_BLENDFACTOR AB_SAMPLEMASK | Membros do D3D10_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] definidos como FALSE, o código a seguir seria usado.
BlendState NoBlend {
AlphaToCoverageEnable = FALSE;
BlendEnable[0] = FALSE;
};
O objeto state é aplicado a uma passagem de técnica usando uma das funções SetStateGroup descritas em Sintaxe de técnica de efeito (Direct3D 10). 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 );
Para obter um tutorial que descreve o uso de estados, consulte Gerenciamento de estado.