효과 그룹 구문(Direct3D 11)
효과 그룹은 이 섹션에 설명된 구문을 사용하여 선언됩니다.
fxgroup GroupName [ <Annotations > ]
{
TechniqueVersion TechniqueName [ <Annotations > ]
{
...
}
TechniqueVersion TechniqueName [ <Annotations > ]
{
...
}
}
매개 변수
항목 | 설명 |
---|---|
fxgroup |
평형 키워드(keyword). |
Groupname |
필수 사항입니다. 효과 그룹의 이름을 고유하게 식별하는 ASCII 문자열입니다. 기술과 달리, 기술에 고유한 식별자가 있는지 확인하려면 그룹에 이름이 있어야 합니다(아래 그룹 및 기술 섹션 참조). |
< 주석 > |
[in] 선택적 항목으로, 효과 시스템에서 무시되는 하나 이상의 사용자 제공 정보(메타데이터)입니다. 구문은 주석 구문(Direct3D 11)을 참조하세요. |
TechniqueVersion |
"technique10" 또는 "technique11". Direct3D 11(5_0 셰이더, BindInterfaces 등)의 새로운 기능을 사용하는 기술은 "technique11"을 사용해야 합니다. |
TechniqueName |
선택 사항입니다. 효과 기술의 이름을 고유하게 식별하는 ASCII 문자열입니다. |
그룹 및 기술
fx_4_0 효과와의 호환성을 유지하기 위해 그룹은 선택 사항입니다. 모든 전역 기술을 둘러싼 암시적 NULL 명명된 그룹이 있습니다.
다음 예제를 살펴보겠습니다.
technique11 GlobalTech
{
}
fxgroup Group1
{
technique11 Tech1 { ... }
technique11 Tech2 { ... }
}
fxgroup Group2
{
technique11 Tech1 { ... }
technique11 Tech2 { ... }
}
C++에서는 두 가지 방법으로 이름으로 기술을 가져올 수 있습니다. 다음 명령은 명백한 기술을 찾습니다.
pEffect->GetTechniqueByName( "GlobalTech" );
pEffect->GetTechniqueByName( "|GlobalTech" );
pEffect->GetTechniqueByName( "Group1|Tech1" );
pEffect->GetTechniqueByName( "Group1|Tech2" );
pEffect->GetTechniqueByName( "Group2|Tech1" );
pEffect->GetTechniqueByName( "Group2|Tech2" );
pEffect->GetGroupByName("Group1")->GetTechniqueByName( "Tech1" );
pEffect->GetGroupByName("Group1")->GetTechniqueByName( "Tech2" );
pEffect->GetGroupByName("Group2")->GetTechniqueByName( "Tech1" );
pEffect->GetGroupByName("Group2")->GetTechniqueByName( "Tech2" );
ID3DX11Effect::GetTechniqueByName이 효과 10과 유사하게 작동하도록 하려면 정의된 모든 그룹에 이름이 있어야 합니다.