Bagikan melalui


Global Parameter

Setiap efek yang sesuai dengan DXSAS harus mendefinisikan, sebagai minimum, parameter efek global tunggal dengan semantik global. Parameter global juga dapat menggunakan satu atau beberapa anotasi opsional. Sintaksnya adalah sebagai berikut:

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

Dimana:

SasVersion

Satu-satunya anotasi yang diperlukan adalah SasVersion. Dinyatakan seperti ini:

int3 SasVersion = { major, minor, revision };

Dimana:

  • utama menunjukkan rilis utama DXSAS. Rilis utama DXSAS dapat berisi perubahan pembersihan pada kumpulan semantik dan anotasi yang ditentukan. Semantik dan anotasi dapat ditambahkan dan dihapus dan, secara umum, kompatibilitas mundur dengan rilis sebelumnya tidak dijamin.
  • minor menunjukkan rilis minor SAS. Rilis kecil DXSAS dapat mencakup penambahan semantik atau anotasi baru. Selain itu, semantik dan anotasi dapat ditandai sebagai tidak digunakan lagi dalam standar DXSAS. Semantik dan anotasi yang tidak digunakan lagi harus tetap didukung oleh aplikasi host tetapi dapat memancarkan diagnostik peringatan ketika semantik atau anotasi seperti itu digunakan. Rilis minor kompatibel dengan rilis sebelumnya.
  • revisi menunjukkan revisi DXSAS. Revisi DXSAS hanya ada sebagai sarana untuk memperbaiki bug, menghilangkan ambiguitas, dan memperbaiki standar. Revisi ke standar kompatibel mundur dengan rilis sebelumnya.

Versi saat ini adalah 1.0.0. Tidak ada nilai default untuk anotasi ini.

SasEffectAuthor

Ini mendeklarasikan orang yang menciptakan efeknya. Dinyatakan seperti ini:

string SasEffectAuthor = "value";

di mana nilai adalah string yang mengidentifikasi pembuat efek. Defaultnya adalah string kosong.

SasEffectAuthoringSoftware

Ini menyatakan perangkat lunak tempat efek ditulis. Dinyatakan seperti ini:

string SasEffectAuthoringSoftware = "value";

di mana nilai adalah string yang mengidentifikasi efek perangkat lunak penulisan. Defaultnya adalah string kosong.

SasEffectCategory

Ini mendeklarasikan kategori efek. Dinyatakan seperti ini:

string SasEffectCategory = "value";

di mana nilai adalah string yang mengidentifikasi kategori efek. Defaultnya adalah string kosong. Kategori dinyatakan melalui nilai seperti jalur menggunakan garis miring sebagai pemisah. Efek hanya dapat termasuk dalam satu kategori karena tidak ada sintaks untuk mengekspresikan penyertaan dalam beberapa jalur dalam satu nilai SasEffectCategory. Nilai anotasi ini tidak diperlakukan sebagai peka huruf besar/kecil oleh aplikasi host.

SasEffectCompany

Ini menyatakan perusahaan yang menciptakan efeknya. Dinyatakan seperti ini:

string SasEffectCompany = "value";

di mana nilai adalah string yang mengidentifikasi nama perusahaan yang memiliki efek . Defaultnya adalah string kosong.

SasEffectDescription

Ini menjelaskan efeknya. Dinyatakan seperti ini:

string SasEffectDescription = "value";

di mana nilai adalah string yang menjelaskan efeknya. Defaultnya adalah string kosong.

SasEffectHelp

Ini adalah string bantuan yang dapat ditampilkan kepada pengguna setiap kali bantuan pada efek terkait diminta. Dinyatakan seperti ini:

string SasEffectHelp = "value";

di mana nilai adalah string yang dapat ditampilkan jika pengguna meminta bantuan. Defaultnya adalah string kosong.

SasEffectRevision

Anotasi ini memungkinkan alat dan pengguna untuk merekam jumlah revisi file efek terkait. Misalnya, pengguna dapat menyisipkan kata kunci yang sesuai dalam nilai anotasi ini untuk memanggil penggantian kata kunci dalam perangkat lunak kontrol revisi favorit mereka. Dinyatakan seperti ini:

string SasEffectRevision = "value";

di mana nilai adalah string yang mengidentifikasi revisi efek. Defaultnya adalah string kosong.

Contoh

Berikut adalah contoh yang hanya menggunakan satu anotasi yang diperlukan:

int gp : SasGlobal
<
  int3 SasVersion = {1,0,0};
>;

Berikut adalah contoh yang menggunakan anotasi yang diperlukan dan beberapa anotasi opsional:

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$";  
>;

Referensi Anotasi dan Semantik Standar DirectX