Sintaxis de la técnica de efecto (Direct3D 11)
Una técnica de efecto se declara con la sintaxis descrita en esta sección.
TechniqueVersion TechniqueName [ <Annotations> ]
{
- pass *PassName* \[ <*Annotations* > \] {
- \[ *SetStateGroup*; \] \[ *SetStateGroup*; \] ... \[ *SetStateGroup*; \]
}
Parámetros
Elemento | Descripción | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TechniqueVersion |
Técnica10 o técnica11. Las técnicas que usan la funcionalidad nueva en Direct3D 11 (sombreadores 5_0, BindInterfaces, etc.) deben usar técnica11. |
||||||||||||||||||
TechniqueName |
Opcional. Cadena ASCII que identifica de forma única el nombre de la técnica de efecto. |
||||||||||||||||||
<
Anotaciones > |
[in] Opcional. Uno o varios fragmentos de información (metadatos) proporcionados por el usuario que el sistema de efectos omite. Para obtener la sintaxis, vea Annotation Syntax (Direct3D 11) (Sintaxis de anotación [Direct3D 11]). |
||||||||||||||||||
Pasar |
Palabra clave requerida. |
||||||||||||||||||
PassName |
[in] Opcional. Cadena ASCII que identifica de forma única el nombre del pase. |
||||||||||||||||||
SetStateGroup |
[in] Establezca uno o varios grupos de estados, como:
|
Ejemplos
En este ejemplo se establece el estado de fusión.
BlendState NoBlend
{
BlendEnable[0] = False;
};
...
technique10
{
pass p2
{
...
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
}
}
En este ejemplo se configura el estado de rasterizador para representar un objeto en wireframe.
RasterizerState rsWireframe { FillMode = WireFrame; };
...
technique10
{
pass p1
{
....
SetRasterizerState( rsWireframe );
}
}
En este ejemplo se establece el estado del sombreador.
technique10 RenderSceneWithTexture1Light
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, RenderSceneVS( 1, true, true ) ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, RenderScenePS( true ) ) );
}
}