UI 註釋
使用此批注將效果參數與主環境中的 UI 控件產生關聯。 這可讓使用者透過主應用程式以互動方式控制效果參數。
DXSAS 定義一組標準控件,以數據模型和影響作者可從主應用程式預期的基本行為。 控制項批注會像這樣使用:
string SasUiControl = "ControlType";
哪裡
ControlType
是下列其中一項:
ControlType | 描述 | 內部數據類型 | Control 屬性註釋 |
---|---|---|---|
沒有 | 不應顯示任何控件。 請注意,如果 SasUiVisible 為 True,且控件類型為 None 以外的任何類型,則控件會顯示。 | n/a | n/a |
任何 | 這表示不會要求任何特殊控件。 顯示的控制件是應用程式定義行為的結果。 | n/a | n/a |
ColorPicker | 以色彩樣板表示色彩值。 值會封裝到相關聯向量的 XYZ 元件中。 相關聯向量的 W 元件一律設定為一個。 | floatN,其中 N 包含 1 到 4。 | SasUiEnum |
方向 | 方向向量。 | floatN,其中 N 為 2 到 4。 | 沒有 |
FilePicker | 可讓使用者瀏覽並選取檔案的對話框。 | 字串 | 沒有 |
ListPicker | 用戶可以從中選取一個專案的字串值清單。 這些值會從 SasUiEnum 註釋產生。 | 字串數位,以及包含所選取字串值的索引的整數值。 | SasUiEnum |
數值的 | 一組數值輸入控件(例如文字框)。 | floatMxN,其中 M 和 N 包含 1 到 4。 | SasUiMin、SasUiMax、SasUiStride |
滑塊 | 一組滑桿。 | floatMxN,其中 M 和 N 包含 1 到 4 | SasUiMin、SasUiMax、SasUiSteps、SasUiStepsPower |
字串 | 用於編輯字串內容的文字框。 | 字串 | 沒有 |
如果內部數據類型與相關聯的參數類型不同,當數據從主應用程式參數傳輸到效果參數時,就會發生轉換。
預設值為字串 「None」。
UI 通用屬性
SasUiDescription
使用此批註來指定字串來描述工具。 這可用於UI元素,例如工具提示。
string SasUiDescription = "descriptive string";
例如:
float3 UpNormal
<
string SasUiDescription = "The normalized up vector";
>;
預設值為空字串。
SasUiLabel
使用此批註來指定字串來標記任何 UI 控制件。
string SasUiLabel = "some label;
以下是範例:
float3 UpNormal
<
string SasUiLabel = "Normal that points up.";
>;
預設值為空字串。
SasUiVisible
使用此批注來指定是否應該向用戶顯示相關聯的參數。
bool SasUiVisible = false;
如果設定為 True,主應用程式應該會顯示 UI 控件來編輯批註效果參數。 如果為 false,則主應用程式中不會顯示任何 UI。
以下是範例:
float3 UpNormal
<
string SasUiVisible = false;
>;
預設值為 True。
UI 控制件屬性
控件屬性批注是其他修飾詞,可協助判斷特定控件的運作方式。
SasUiEnum
此批注可讓您限制控件的值範圍。 批註包含以逗號分隔的值字串。
預設值為空字串。
SasUiMax
這個批注會指定相關聯參數的最大值。 它只能與數值型別參數相關聯。 參數的最大值實際上會計算為:
MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);
PARAMETER_TYPE_MAX是相關聯參數所使用之型別的最大值。 這表示參數的值,將 sasUiMax 批注 計算為:
ParameterValue = min(NewParameterValue, MaxValue);
預設值FLT_MAX如Math.h中所定義。
SasUiMin
此批注會指定相關聯參數的最小值。 它只能與任何數值型別參數相關聯。 參數的最小值實際上會計算為:
MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);
PARAMETER_TYPE_MIN是相關聯參數所使用之類型的最小值。 這表示參數的值,將 SasUiMin 註釋計算為:
ParameterValue = max(NewParameterValue, MinValue);
默認值 -FLT_MAX,如 Math.h 中所定義。
SasUiSteps
這個批注會指定遞增或遞減相關聯參數值時可以使用的步驟數目。 批注只有在數值型別參數上才有意義。 零指定主應用程式會選擇合理的步驟數目。
預設值為 0。
SasUiStepsPower
此批注會指定 power 函式中的指數,其範圍為 [0.0f, 1.0f]。 主應用程式在計算參數值時必須實作下列方法:
ParameterValue = ((SasUiMax - SasUiMin) x pow(UI_VALUE, SasUiStepsPower) + SasUiMin
預設值為 1.0f。
SasUiStride
這個批注會指定遞增或遞減此值時應該使用的增量。 與 SasUiSteps不同,SasUiStride 對於微調器控件很有用,例如,數據未系結,而使用者寧願以步幅遞增參數值,而不是透過預先定義的步驟數目來遞增參數值。 主機應用程式應依 SasUiStride 的值遞增(或根據控制行為遞減),如下所示:
ParameterValue = ParameterValue +/- SasUiStride
預設值為 1.0f。
相關主題