Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Effektzustände sind Name-Wert-Paare in Form eines Ausdrucks.
Mischzustand
Effektzustand | Group |
---|---|
ALPHATOCOVERAGEENABLE, BLENDENABLE, SRCBLEND, DESTBLEND, BLENDOP, SRCBLENDALPHA, DESTBLENDALPHA, BLENDOPALPHA, RENDERTARGETWRITEMASK | Mitglieder von D3D10_BLEND_DESC |
Tiefe und Schablonenzustand
Effektzustand | Group |
---|---|
DEPTHENABLE, DEPTHWRITEMASK, DEPTHFUNC, STENCILENABLE, STENCILREADMASK, STENCILWRITEMASK | Mitglieder von D3D10_DEPTH_STENCIL_DESC |
FRONTFACESTENCILFAIL, FRONTFACESTENCILZFAIL, FRONTFACESTENCILPASS, FRONTFACESTENCILFUNC, BACKFACESTENCILFAIL, BACKFACESTENCILZFAIL, BACKFACESTENCILPASS, BACKFACESTENCILFUNC | Mitglied der D3D10_DEPTH_STENCILOP_DESC |
Rasterungsstatus
Effektzustand | Group |
---|---|
FILLMODE | D3D10_FILL_MODE |
CULLMODE | D3D10_CULL_MODE |
FRONTCOUNTERCLOCKWISE, DEPTHBIAS, DEPTHBIASCLAMP, SLOPESCALEDDEPTHBIAS, ZCLIPENABLE, SCISSORENABLE, MULTISAMPLEENABLE, ANTIALIASEDLINEENABLE | Mitglieder D3D10_RASTERIZER_DESC |
Samplerzustand
Effektzustand | Group |
---|---|
Filter, AddressU, AddressV, AddressW, MipLODBias, MaxAnisotropy, ComparisonFunc, BorderColor, MinLOD, MaxLOD | Mitglieder von D3D10_SAMPLER_DESC |
Beispiele finden Sie unter Samplertyp (DirectX HLSL).
Effektobjektzustand
Dieses Effektobjekt | Entsprechung |
---|---|
RASTERIZERSTATE | Ein Rasterizer State-Zustandsobjekt . |
DEPTHSTENCILSTATE | Ein Tiefen- und Schablonenzustandsobjekt . |
BLENDSTATE | Ein Blend State-Zustandsobjekt . |
VERTEXSHADER | Ein kompiliertes Vertex-Shaderobjekt. |
PIXELSHADER | Ein kompiliertes Pixel-Shaderobjekt. |
GEOMETRYSHADER | Ein kompiliertes Geometrie-Shaderobjekt. |
DS_STENCILREF AB_BLENDFACTOR AB_SAMPLEMASK | Mitglieder von D3D10_PASS_DESC. |
Definieren und Verwenden von Zustandsobjekten
Zustandsobjekte werden in FX-Dateien im folgenden Format deklariert. StateObjectType ist einer der oben aufgeführten Zustände, und MemberName ist der Name eines jeden Members, der einen Nicht-Standardwert aufweist.
StateObjectType ObjectName {
MemberName = value;
...
MemberName = value;
};
Wenn Sie beispielsweise ein Objekt für den Mischzustand einrichten möchten, bei dem AlphaToCoverageEnable und BlendEnable[0] auf FALSE festgelegt sind, wird der folgende Code verwendet.
BlendState NoBlend {
AlphaToCoverageEnable = FALSE;
BlendEnable[0] = FALSE;
};
Das Zustandsobjekt wird mithilfe einer der In Effect Technique Syntax (Direct3D 10) beschriebenen SetStateGroup-Funktionen auf einen Technikdurchlauf angewendet. Um beispielsweise das oben beschriebene BlendState-Objekt anzuwenden, wird der folgende Code verwendet.
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
Ein Tutorial zur Beschreibung der Verwendung von Zuständen finden Sie unter Zustandsverwaltung.