Groupes d’états d’effet (Direct3D 10)
Les états d’effet sont des paires nom-valeur sous la forme d’une expression.
État de fusion
État de l’effet | Groupe |
---|---|
ALPHATOCOVERAGEENABLE, BLENDENABLE, SRCBLEND, DESTBLEND, BLENDOP, SRCBLENDALPHA, DESTBLENDALPHA, BLENDOPALPHA, RENDERTARGETWRITEMASK | Membres de D3D10_BLEND_DESC |
Profondeur et état du gabarit
État de l’effet | Groupe |
---|---|
DEPTHENABLE, DEPTHWRITEMASK, DEPTHFUNC, STENCILENABLE, STENCILREADMASK, STENCILWRITEMASK | Membres de D3D10_DEPTH_STENCIL_DESC |
FRONTFACESTENCILFAIL, FRONTFACESTENCILZFAIL, FRONTFACESTENCILPASS, FRONTFACESTENCILFUNC, BACKFACESTENCILFAIL, BACKFACESTENCILZFAIL, BACKFACESTENCILPASS, BACKFACESTENCILFUNC | Membre de D3D10_DEPTH_STENCILOP_DESC |
État du rastériseur
État de l’effet | Groupe |
---|---|
FILLMODE | D3D10_FILL_MODE |
CULLMODE | D3D10_CULL_MODE |
FRONTCOUNTERCLOCKWISE, DEPTHBIAS, DEPTHBIASCLAMP, SLOPESCALEDDEPTHBIAS, ZCLIPENABLE, CISSORENABLE, MULTISAMPLEENABLE, ANTIALIASEDLINEENABLE | Membres de D3D10_RASTERIZER_DESC |
État de l’échantillonneur
État de l’effet | Groupe |
---|---|
Filter, AddressU, AddressV, AddressW, MipLODBias, MaxAnisotropy, ComparisonFunc, BorderColor, MinLOD, MaxLOD | Membres de D3D10_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_STENCILREF AB_BLENDFACTOR AB_SAMPLEMASK | Membres de D3D10_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 10). 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 );
Pour obtenir un tutoriel décrivant l’utilisation des états, consultez Gestion des états.
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour