每個 DXSAS 相容效果都必須將具有全域語意的單一全域效果參數定義為最小值。 全局參數也可以使用一或多個選擇性註釋。 語法如下:
int VariableName : SasGlobal
<
SasVersion
[OptionalAnnotations]
>;
哪裡:
- VariableName 是使用者指定的 ASCII 文字字串變數名稱。
- SasGlobal 是語意關鍵詞,會將此參數識別為全域 DXSAS 參數。
- SasVersion 是唯一必要的註釋。
- OptionalAnnotations 可以包含下列專案:
SasVersion
唯一必要的註釋是 SasVersion。 它宣告如下:
int3 SasVersion = { major, minor, revision };
哪裡:
- major 表示 DXSAS 主要版本。 DXSAS 的主要版本可以包含定義之語意和批注集的掃掠變更。 可以新增和移除語意和批注,而且一般而言,不保證與舊版的回溯相容性。
- minor 表示 SAS 次要版本。 DXSAS 的次要版本可以包含新增語意或註釋。 此外,DXSAS 標準中可能會將語意和註釋標示為已被取代。 主應用程式仍必須支援已被取代的語意和批註,但在使用這類語意或註釋時,可能會發出警告診斷。 次要版本與舊版回溯相容。
- revision 表示 DXSAS 修訂。 DXSAS 的修訂只以修正 Bug、移除模棱兩可和精簡標準的方式存在。 標準修訂與舊版回溯相容。
目前的版本是 1.0.0。 此批注沒有預設值。
SasEffectAuthor
這會宣告建立效果的人員。 它宣告如下:
string SasEffectAuthor = "value";
其中 value 是識別效果作者的字串。 預設值為空字串。
SasEffectAuthoringSoftware
這會宣告軟體已撰寫效果。 它宣告如下:
string SasEffectAuthoringSoftware = "value";
其中 value 是識別效果撰寫軟體的字串。 預設值為空字串。
SasEffectCategory
這會宣告效果分類。 它宣告如下:
string SasEffectCategory = "value";
其中 value 是識別效果類別的字串。 預設值為空字串。 類別是使用正斜線做為分隔符,透過類似路徑的值來表示。 效果只能屬於一個類別,因為單一 SasEffectCategory 值內沒有表示包含多個路徑的語法。 主應用程式不會將此批注的值視為區分大小寫。
SasEffectCompany
這會宣告建立效果的公司。 它宣告如下:
string SasEffectCompany = "value";
其中 value 是識別擁有效果之公司名稱的字串。 預設值為空字串。
SasEffectDescription
這描述效果。 它宣告如下:
string SasEffectDescription = "value";
其中 value 是描述效果的字串。 預設值為空字串。
SasEffectHelp
這是一個說明字串,可在要求相關效果的說明時向用戶顯示。 它宣告如下:
string SasEffectHelp = "value";
其中 value 是一個字串,如果使用者要求協助,則可以顯示此字串。 預設值為空字串。
SasEffectRevision
此批注可讓工具和用戶記錄相關聯效果檔案的修訂編號。 例如,使用者可以在此批注的值中插入適當的關鍵詞,以在其最愛的修訂控件軟體中叫用關鍵詞替代。 它宣告如下:
string SasEffectRevision = "value";
其中 value 是識別效果修訂的字串。 預設值為空字串。
例子
以下是只使用單一必要批注的範例:
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$";
>;
相關主題