共用方式為


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 ,其中 MN 包含 1 到 4。 SasUiMinSasUiMaxSasUiStride
Slider 一組滑杆。 floatMxN ,其中 MN 包含 1 到 4 SasUiMinSasUiMaxSasUiStepsSasUiStepsPower
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。

DirectX 標準注釋和語意參考