次の方法で共有


効果グループの構文 (Direct3D 11)

効果グループは、このセクションで説明する構文を使用して宣言されます。

fxgroup GroupName  [ <Annotations > ]
{
    TechniqueVersion TechniqueName [ <Annotations > ] 
    { 
       ...
    } 
    TechniqueVersion TechniqueName [ <Annotations > ] 
    { 
       ...
    } 
}



パラメーター

Item 説明
fxgroup
等しいキーワード (keyword)。
Groupname
必須。 効果グループの名前を一意に識別する ASCII 文字列。 手法とは異なり、手法が一意の識別子を持っていることを確認するには、グループに名前が必要です (後述の「グループと手法」セクションを参照してください)。
< 注釈 >
[in] オプション。 エフェクト システムによって無視されるユーザー指定の情報 (メタデータ) の 1 つ以上の部分。 構文については、「注釈構文 (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++ では、2 つの方法で名前で手法を取得できます。 次のコマンドは、明らかな手法を見つけます。

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 が Effects 10 と同様に動作するようにするには、定義されているすべてのグループに名前が必要です。

効果の形式

効果手法の構文 (Direct3D 11)