全域參數
每個 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 標準中標示為已被取代。 主應用程式仍然必須支援已被取代的語意和批註,但在使用這類語意或注釋時,可能會發出警告診斷。 次要版本與舊版回溯相容。
- 修訂表示 DXSAS 修訂。 DXSAS 的修訂只以修正錯誤、移除模棱兩可,以及精簡標準的方法存在。 標準的修訂與舊版回溯相容。
目前的版本是 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$";
>;
相關主題