Sintaks Teknik Efek (Direct3D 11)
Teknik efek dideklarasikan dengan sintaks yang dijelaskan di bagian ini.
TechniqueVersion TechniqueName [ <Anotasi> ]
{
- pass *PassName* \[ <*Anotasi* > \] {
- \[ *SetStateGroup*; \] \[ *SetStateGroup*; \] ... \[ *SetStateGroup*; \]
}
Parameter
Item | Deskripsi | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TechniqueVersion |
Baik teknik10 atau teknik11. Teknik yang menggunakan fungsionalitas baru untuk Direct3D 11 (shader 5_0, BindInterfaces, dll) harus menggunakan teknik11. |
||||||||||||||||||
Nama Teknik |
Pilihan. String ASCII yang secara unik mengidentifikasi nama teknik efek. |
||||||||||||||||||
<
Anotasi > |
[in] Opsional. Satu atau beberapa bagian informasi yang disediakan pengguna (metadata) yang diabaikan oleh sistem efek. Untuk sintaks, lihat Sintaks Anotasi (Direct3D 11). |
||||||||||||||||||
Lulus |
Kata kunci yang diperlukan. |
||||||||||||||||||
PassName |
[in] Opsional. String ASCII yang secara unik mengidentifikasi nama pass. |
||||||||||||||||||
SetStateGroup |
[in] Atur satu atau beberapa grup status seperti:
|
Contoh
Contoh ini menetapkan status blending.
BlendState NoBlend
{
BlendEnable[0] = False;
};
...
technique10
{
pass p2
{
...
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
}
}
Contoh ini menyiapkan status rasterizer untuk merender objek dalam wireframe.
RasterizerState rsWireframe { FillMode = WireFrame; };
...
technique10
{
pass p1
{
....
SetRasterizerState( rsWireframe );
}
}
Contoh ini menetapkan status shader.
technique10 RenderSceneWithTexture1Light
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, RenderSceneVS( 1, true, true ) ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, RenderScenePS( true ) ) );
}
}