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.
Eine Effekttechnik wird mit der folgenden Syntax deklariert.
technique10 TechniqueName [ <Anmerkungen> ]
{
- pass *PassName* \[ <*Annotations* > \] {
- \[ *SetStateGroup*; \] \[ *SetStateGroup*; \] ... \[ *SetStateGroup*; \]
}
Parameter
-
technik10
-
Erforderliche Schlüsselwort (keyword).
-
TechniqueName
-
Optional. Eine ASCII-Zeichenfolge, die den Namen der Effekttechnik eindeutig identifiziert.
-
Anmerkungen
-
[in] Optional. Mindestens ein Teil der vom Benutzer bereitgestellten Informationen (Metadaten), die vom Effektsystem ignoriert werden. Informationen zur Syntax finden Sie unter Anmerkungssyntax (Direct3D 10).
-
bestehen
-
Erforderliche Schlüsselwort (keyword).
-
PassName
-
[in] Optional. Eine ASCII-Zeichenfolge, die den Namen des Durchlaufs eindeutig identifiziert.
-
SetStateGroup
-
[in] Legen Sie mindestens eine Zustandsgruppe fest, z. B.:
StateGroup Syntax Mischzustand SetBlendState( arguments );
Die Argumentliste finden Sie unter [OMSetBlendState](/windows/desktop/api/D3D10/nf-d3d10-id3d10device-omsetblendstate).
Tiefenschablonenzustand SetDepthStencilState( arguments );
Die Argumentliste finden Sie unter OMSetDepthStencilState .
Rasterizerstatus SetRasterizerState( arguments );
Die Argumentliste finden Sie unter [RSSetState](/windows/desktop/api/D3D10/nf-d3d10-id3d10device-rssetstate).
Shaderstatus SetXXXShader( CompileShader( shader_profile, ShaderFunction( args ) ) );
oder
SetXXXShader( CompileShader( NULL ) );
oder
SetXXXShader( NULL );
SetXXXShader ist eine von SetVertexShader, SetGeometryShader oder SetPixelShader (die den API-Methoden VSSetShader, GSSetShader und PSSetShader ähneln).
Effektstatusgruppen werden im Effektzustand aufgeführt.
Beispiele
In diesem Beispiel (aus dem CubeMapGS-Beispiel) wird der Mischzustand festgelegt.
BlendState NoBlend
{
BlendEnable[0] = False;
};
...
technique10
{
pass p2
{
...
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
}
}
In diesem Beispiel wird der Rasterisierungszustand zum Rendern eines Objekts im Drahtmodell eingerichtet.
RasterizerState rsWireframe { FillMode = WireFrame; };
...
technique10
{
pass p1
{
....
SetRasterizerState( rsWireframe );
}
}
In diesem Beispiel wird der Shaderzustand festgelegt (aus dem BasicHLSL10-Beispiel); , die einen Vertex- und Pixelshader verwendet.
technique10 RenderSceneWithTexture1Light
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, RenderSceneVS( 1, true, true ) ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, RenderScenePS( true ) ) );
}
}
Zugehörige Themen