Groupes d’états d’effet (Direct3D 11)
Les états d’effet sont des paires nom-valeur sous la forme d’une expression.
- État blend
- Profondeur et état du gabarit
- État du rastériseur
- État de l’échantillonneur
- État de l’objet d’effet
- Définition et utilisation d’objets d’état
- Rubriques connexes
État blend
État de l’effet | Groupe |
---|---|
ALPHATOCOVERAGEENABLEBLENDENABLESRCBLENDDESTBLENDOP SRCBLENDALPHADESTBLENDALPHABLENDOPALPHARENDERTARGETWRITEMASK | Membres de D3D11_BLEND_DESC |
Profondeur et état du gabarit
État de l’effet | Groupe |
---|---|
DEPTHENABLEDEPTHWRITEMASKDEPTHFUNCSTENCILENABLESTENCILREADMASKSTENCILWRITEMASK | Membres de D3D11_DEPTH_STENCIL_DESC |
FRONTFACESTENCILFAILFRONTFACESTENCILZFAILFRONTFACESTENCILPASSFRONTFACESTENCILFUNCBACKFACESTENCILFAILBACKFACESTENCILZFAILBACKFACESTENCILPASSBACKFACESTENCILFUNC | Membre de D3D11_DEPTH_STENCILOP_DESC |
État du rastériseur
État de l’effet | Groupe |
---|---|
FILLMODE | D3D11_FILL_MODE |
CULLMODE | D3D11_CULL_MODE |
FRONTCOUNTERCLOCKWISEDEPTHBIASDEPTHBIASCLAMPSLOPESCALEDDEPTHBIAS ZCLIPENABLESCISSORENABLEMULTISAMPLEENABLEANTIALIASEDLINEENABLE | Membres de D3D11_RASTERIZER_DESC |
État de l’échantillonneur
État de l’effet | Groupe |
---|---|
Filter AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD | Membres de D3D11_SAMPLER_DESC |
Pour obtenir des exemples, consultez Type d’échantillonneur (DirectX HLSL).
État de l’objet d’effet
Cet objet d’effet | Correspond à |
---|---|
RASTERIZERSTATE | Objet d’état État de rastériseur . |
DEPTHSTENCILSTATE | Objet d’état Depth et Stencil. |
BLENDSTATE | Objet d’état Blend State . |
VERTEXSHADER | Objet de nuanceur de vertex compilé. |
PIXELSHADER | Objet de nuanceur de pixels compilé. |
GEOMETRYSHADER | Objet de nuanceur de géométrie compilé. |
DS_STENCILREFAB_BLENDFACTORAB_SAMPLEMASK | Membres de D3DX11_PASS_DESC. |
Définition et utilisation d’objets d’état
Les objets d’état sont déclarés dans les fichiers FX au format suivant. StateObjectType est l’un des états répertoriés ci-dessus et MemberName est le nom de tout membre qui aura une valeur autre que celle par défaut.
StateObjectType ObjectName {
MemberName = value;
...
MemberName = value;
};
Par exemple, pour configurer un objet d’état de fusion avec AlphaToCoverageEnable et BlendEnable[0] défini sur FALSE , le code suivant est utilisé.
BlendState NoBlend {
AlphaToCoverageEnable = FALSE;
BlendEnable[0] = FALSE;
};
L’objet state est appliqué à une passe technique à l’aide de l’une des fonctions SetStateGroup décrites dans Syntaxe de la technique d’effet (Direct3D 11). Par exemple, pour appliquer l’objet BlendState décrit ci-dessus, le code suivant est utilisé.
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
Rubriques connexes