Anotasi UI
Gunakan anotasi ini untuk mengaitkan parameter efek dengan kontrol UI di lingkungan host. Ini akan memungkinkan pengguna untuk mengontrol parameter efek secara interaktif melalui aplikasi host.
DXSAS mendefinisikan serangkaian kontrol standar dalam hal model data dan perilaku dasar yang dapat diharapkan penulis efek dari aplikasi host. Anotasi kontrol digunakan seperti ini:
string SasUiControl = "ControlType";
Di mana
ControlType
salah satu hal berikut:
ControlType | Deskripsi | Tipe Data Internal | Anotasi Properti Kontrol |
---|---|---|---|
Tidak ada | Tidak ada kontrol yang harus ditampilkan. Perhatikan bahwa kontrol terlihat jika SasUiVisible adalah True dan jenis kontrol adalah jenis apa pun selain Tidak Ada. | n/a | n/a |
Apa pun | Ini menyiratkan bahwa tidak ada kontrol khusus yang diminta. Kontrol yang disajikan adalah hasil dari perilaku yang ditentukan aplikasi. | n/a | n/a |
Colorpicker | Mewakili nilai warna sebagai swatch warna. Nilai dikemas ke dalam komponen XYZ dari vektor terkait. Komponen W dari vektor terkait selalu diatur ke satu. | floatN di mana N adalah 1 hingga 4 inklusif. | SasUiEnum |
Petunjuk | Vektor arah. | floatN di mana N adalah 2 hingga 4 inklusif. | Tidak ada |
FilePicker | Kotak dialog yang memungkinkan pengguna menelusuri dan memilih file. | string | Tidak ada |
ListPicker | Daftar nilai string tempat pengguna dapat memilih satu entri. Nilai dihasilkan dari anotasi SasUiEnum . | Array string bersama dengan nilai bilangan bulat yang berisi indeks nilai string yang dipilih. | SasUiEnum |
Numerik | Sekumpulan kontrol input numerik (seperti kotak teks). | floatMxN di mana M dan N adalah 1 hingga 4 inklusif. | SasUiMin, SasUiMax, SasUiStride |
Slider | Satu set penggeling. | floatMxN di mana M dan N adalah 1 hingga 4 inklusif | SasUiMin, SasUiMax, SasUiSteps, SasUiStepsPower |
String | Kotak teks untuk mengedit konten string. | string | Tidak ada |
Jika jenis data internal tidak identik dengan jenis parameter terkait, transmisi akan terjadi saat data ditransfer dari parameter aplikasi host ke parameter efek.
Defaultnya adalah string "None".
Properti Umum UI
SasUiDescription
Gunakan anotasi ini untuk menentukan string untuk menjelaskan alat. Ini dapat digunakan untuk elemen UI seperti tips alat.
string SasUiDescription = "descriptive string";
Contohnya:
float3 UpNormal
<
string SasUiDescription = "The normalized up vector";
>;
Defaultnya adalah string kosong.
SasUiLabel
Gunakan anotasi ini untuk menentukan string untuk memberi label kontrol UI apa pun.
string SasUiLabel = "some label;
Ini contohnya:
float3 UpNormal
<
string SasUiLabel = "Normal that points up.";
>;
Defaultnya adalah string kosong.
SasUiVisible
Gunakan anotasi ini untuk menentukan apakah parameter terkait harus ditampilkan kepada pengguna.
bool SasUiVisible = false;
Jika diatur ke True, aplikasi host harus menampilkan kontrol UI untuk mengedit parameter efek anotasi. Jika false, tidak ada UI yang ditampilkan di aplikasi host.
Ini contohnya:
float3 UpNormal
<
string SasUiVisible = false;
>;
Default-nya adalah True.
Properti Kontrol UI
Anotasi properti kontrol adalah pengubah tambahan yang membantu menentukan bagaimana kontrol tertentu beroperasi.
SasUiEnum
Anotasi ini memungkinkan Anda membatasi rentang nilai untuk kontrol. Anotasi berisi string nilai yang dibatasi oleh koma.
Defaultnya adalah string kosong.
SasUiMax
Anotasi ini menentukan nilai maksimum parameter terkait. Ini hanya dapat dikaitkan dengan parameter yang ditik numerik. Nilai maksimum parameter benar-benar akan dihitung sebagai:
MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);
PARAMETER_TYPE_MAX adalah nilai maksimum untuk jenis yang digunakan oleh parameter terkait. Ini berarti bahwa nilai parameter, dengan mempertimbangkan anotasi SasUiMax dihitung sebagai:
ParameterValue = min(NewParameterValue, MaxValue);
Nilai default FLT_MAX seperti yang didefinisikan dalam Math.h.
SasUiMin
Anotasi ini menentukan nilai minimum parameter terkait. Ini hanya dapat dikaitkan dengan parameter yang ditik numerik. Nilai minimum parameter sebenarnya akan dihitung sebagai:
MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);
PARAMETER_TYPE_MIN adalah nilai minimum untuk jenis yang digunakan oleh parameter terkait. Ini berarti bahwa nilai parameter, dengan mempertimbangkan anotasi SasUiMin dihitung sebagai:
ParameterValue = max(NewParameterValue, MinValue);
Nilai defaultnya adalah -FLT_MAX seperti yang didefinisikan dalam Math.h.
SasUiSteps
Anotasi ini menentukan jumlah langkah yang dapat digunakan saat meningkatkan atau mengurangi nilai parameter terkait. Anotasi hanya bermakna pada parameter yang ditik numerik. Nol menentukan bahwa aplikasi host akan memilih sejumlah langkah yang wajar.
Nilai default adalah 0.
SasUiStepsPower
Anotasi ini menentukan eksponen dalam fungsi daya, yang memiliki rentang [0.0f, 1.0f]. Aplikasi host harus menerapkan metode berikut saat menghitung nilai parameter:
ParameterValue = ((SasUiMax - SasUiMin) x pow(UI_VALUE, SasUiStepsPower) + SasUiMin
Nilai defaultnya adalah 1,0f.
SasUiStride
Anotasi ini menentukan kenaikan yang harus digunakan saat menaikkan atau menurunkan nilai ini. Tidak seperti SasUiSteps, SasUiStride berguna dengan kontrol spinner, misalnya, di mana data tidak terbatas dan pengguna lebih suka menaikkan nilai parameter dengan melangkah daripada dengan jumlah langkah yang telah ditentukan sebelumnya. Aplikasi host harus bertambah (atau penurunan tergantung pada perilaku kontrol) dengan nilai SasUiStride sebagai berikut:
ParameterValue = ParameterValue +/- SasUiStride
Nilai defaultnya adalah 1,0f.
Topik terkait