효과 기술 구문(Direct3D 11)
효과 기술은 이 섹션에 설명된 구문을 사용하여 선언됩니다.
TechniqueVersion TechniqueName [ <Annotations> ]
{
- pass *PassName* \[ <*Annotations* > \] {
- \[ *SetStateGroup*; \] \[ *SetStateGroup*; \] ... \[ *SetStateGroup*; \]
}
매개 변수
항목 | 설명 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TechniqueVersion |
technique10 또는 technique11. Direct3D 11(5_0 셰이더, BindInterfaces 등)에 새로운 기능을 사용하는 기술은 technique11을 사용해야 합니다. |
||||||||||||||||||
TechniqueName |
선택 사항입니다. 효과 기술의 이름을 고유하게 식별하는 ASCII 문자열입니다. |
||||||||||||||||||
<
주석 > |
[in] 선택적 항목으로, 효과 시스템에서 무시되는 하나 이상의 사용자 제공 정보(메타데이터)입니다. 구문은 주석 구문(Direct3D 11)을 참조하세요. |
||||||||||||||||||
전달 |
필수 키워드입니다. |
||||||||||||||||||
PassName |
[in] 선택적 항목으로, 패스의 이름을 고유하게 식별하는 ASCII 문자열입니다. |
||||||||||||||||||
SetStateGroup |
[in] 다음과 같은 하나 이상의 상태 그룹을 설정합니다.
|
예제
다음은 혼합 상태를 설정하는 예제입니다.
BlendState NoBlend
{
BlendEnable[0] = False;
};
...
technique10
{
pass p2
{
...
SetBlendState( NoBlend, float4( 0.0f, 0.0f, 0.0f, 0.0f ), 0xFFFFFFFF );
}
}
다음은 래스터라이저 상태를 설정하여 와이어프레임에서 개체를 렌더링하는 예제입니다.
RasterizerState rsWireframe { FillMode = WireFrame; };
...
technique10
{
pass p1
{
....
SetRasterizerState( rsWireframe );
}
}
다음은 셰이더 상태를 설정하는 예제입니다.
technique10 RenderSceneWithTexture1Light
{
pass P0
{
SetVertexShader( CompileShader( vs_4_0, RenderSceneVS( 1, true, true ) ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, RenderScenePS( true ) ) );
}
}