グローバル パラメーター

DXSAS 準拠の各効果では、グローバル セマンティックを使用して、少なくとも 1 つのグローバル効果パラメーターを定義する必要があります。 グローバル パラメーターでは、1 つ以上の省略可能な注釈を使用することもできます。 構文は次のとおりです。

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

どこ:

  • VariableName は、ユーザー指定の ASCII テキスト文字列変数名です。
  • SasGlobal は、このパラメーターをグローバル DXSAS パラメーターとして識別するセマンティック キーワードです。
  • SasVersion だけが必須の注釈です。
  • OptionalAnnotation には、次の項目を含めることができます。

SasVersion

必要な注釈は SasVersion のみです。 次のように宣言されます。

int3 SasVersion = { major, minor, revision };

どこ:

  • メジャーは DXSAS メジャー リリースを示します。 DXSAS のメジャー リリースには、定義されている一連のセマンティクスと注釈に対する一部の変更を含めることができます。 セマンティクスと注釈は追加および削除でき、一般に以前のリリースとの下位互換性は保証されません。
  • minor は SAS マイナー リリースを示します。 DXSAS のマイナー リリースには、新しいセマンティクスまたは注釈の追加を含めることができます。 さらに、セマンティクスと注釈は、DXSAS 標準では非推奨としてマークされる場合があります。 非推奨のセマンティクスと注釈は、ホスト アプリケーションで引き続きサポートされている必要がありますが、このようなセマンティックまたは注釈を使用すると警告診断を生成できます。 マイナー リリースは、以前のリリースと下位互換性があります。
  • リビジョンは DXSAS リビジョンを示します。 DXSAS のリビジョンは、バグを修正し、あいまいさを取り除き、標準を調整する手段としてのみ存在します。 標準のリビジョンは、以前のリリースと下位互換性があります。

現在のバージョンは 1.0.0 です。 この注釈には既定値はありません。

SasEffectAuthor

これにより、効果を作成したユーザーが宣言されます。 次のように宣言されます。

string SasEffectAuthor = "value";

ここで、value は効果の作成者を識別する文字列です。 既定値は空の文字列です。

SasEffectAuthoringSoftware

これにより、効果が作成されたソフトウェアが宣言されます。 次のように宣言されます。

string SasEffectAuthoringSoftware = "value";

ここで、値は効果オーサリング ソフトウェアを識別する文字列です。 既定値は空の文字列です。

SasEffectCategory

これにより、効果カテゴリが宣言されます。 次のように宣言されます。

string SasEffectCategory = "value";

ここで、value は効果カテゴリを識別する文字列です。 既定値は空の文字列です。 カテゴリは、スラッシュを区切り記号として使用して、パスに似た値で表されます。 1 つの SasEffectCategory 値内の複数のパスに含める構文がないため、効果は 1 つのカテゴリにのみ属できます。 この注釈の値は、ホスト アプリケーションでは大文字と小文字は区別されません。

SasEffectCompany

これにより、効果を作成した会社が宣言されます。 次のように宣言されます。

string SasEffectCompany = "value";

value は、効果を所有する会社の名前を識別する文字列です。 既定値は空の文字列です。

SasEffectDescription

この効果について説明します。 次のように宣言されます。

string SasEffectDescription = "value";

ここで、value は効果を記述する文字列です。 既定値は空の文字列です。

SasEffectHelp

これは、関連する効果に関するヘルプが要求されるたびにユーザーに表示できるヘルプ文字列です。 次のように宣言されます。

string SasEffectHelp = "value";

ここで、値は、ユーザーがヘルプを要求した場合に表示できる文字列です。 既定値は空の文字列です。

SasEffectRevision

この注釈を使用すると、ツールとユーザーは、関連付けられているエフェクト ファイルのリビジョン番号を記録できます。 たとえば、ユーザーは、この注釈の値に適切なキーワードを挿入して、お気に入りのリビジョン コントロール ソフトウェアでキーワード置換を呼び出すことができます。 次のように宣言されます。

string SasEffectRevision = "value";

ここで、値は効果のリビジョンを識別する文字列です。 既定値は空の文字列です。

1 つの必須注釈のみを使用する例を次に示します。

int gp : SasGlobal
<
  int3 SasVersion = {1,0,0};
>;

必須の注釈といくつかの省略可能な注釈を使用する例を次に示します。

int gp : SasGlobal
<
  int3 SasVersion = {1,0,0};
  string SasEffectAuthor = "Mike's Shader";
  string SasEffectAuthoringSoftware = "fxe 2.5.4";
  string SasEffectCategory = "/surface/procedural/wood";
  string SasEffectCompany = "Microsoft Corporation";
  string SasEffectDescription = "Renders an iridescent surface.";
  string SasEffectHelp = "For more information, see https://somelocation/skin.htm";    
  string SasEffectRevision = "$Revision$";  
>;

DirectX 標準注釈とセマンティクスリファレンス