UI 注釋
使用此批註,將效果參數與主機環境中的 UI 控制項產生關聯。 這可讓使用者透過主應用程式以互動方式控制效果參數。
DXSAS 會根據資料模型定義一組標準控制項,以及影響作者可從主應用程式預期的基本行為。 控制項注釋的使用方式如下:
string SasUiControl = "ControlType";
where
ControlType
為下列其中一項:
ControlType | Description | 內部資料類型 | 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 | 允許使用者流覽和選取檔案的對話方塊。 | string | 無 |
ListPicker | 使用者可以從中選取一個專案的字串值清單。 這些值是從 SasUiEnum 注釋產生。 | 字串陣列以及包含所選取字串值的索引的整數值。 | SasUiEnum |
數值 | 一組數值輸入控制項 (,例如文字方塊) 。 | floatMxN ,其中 M 和 N 包含 1 到 4。 | SasUiMin、 SasUiMax、 SasUiStride |
Slider | 一組滑杆。 | floatMxN ,其中 M 和 N 包含 1 到 4 | SasUiMin、 SasUiMax、 SasUiSteps、 SasUiStepsPower |
String | 用於編輯字串內容的文字方塊。 | string | 無 |
如果內部資料類型與相關聯的參數類型不同,當資料從主應用程式參數傳輸到效果參數時,就會發生轉換。
預設值為字串 「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。
相關主題