Udostępnij za pośrednictwem


Parametr globalny

Każdy efekt zgodny DXSAS musi definiować co najmniej jeden parametr efektu globalnego z semantyczną globalną. Parametr globalny może również używać co najmniej jednej opcjonalnej adnotacji. Składnia jest następująca:

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

gdzie:

SasVersion

Jedyną wymaganą adnotacją jest SasVersion. Jest on zadeklarowany w następujący sposób:

int3 SasVersion = { major, minor, revision };

gdzie:

  • major wskazuje główną wersję DXSAS. Główne wydania DXSAS mogą zawierać zmiany zamiatania zestawu zdefiniowanych semantyki i adnotacji. Semantyka i adnotacje można dodawać i usuwać, a ogólnie zgodność z poprzednimi wersjami nie jest gwarantowana.
  • wersja pomocnicza wskazuje wydanie pomocnicze sygnatury dostępu współdzielonego. Wersje pomocnicze DXSAS mogą obejmować dodawanie nowych semantyki lub adnotacji. Ponadto semantyka i adnotacje mogą być oznaczone jako przestarzałe w standardzie DXSAS. Przestarzałe semantyki i adnotacje muszą być nadal obsługiwane przez aplikacje hosta, ale mogą emitować diagnostykę ostrzegawczą w przypadku użycia semantyki lub adnotacji. Wersje pomocnicze są zgodne z poprzednimi wersjami.
  • revision wskazuje poprawkę DXSAS. Poprawki DXSAS istnieją tylko jako środek do naprawiania usterek, usuwania niejednoznaczności i uściślania standardu. Wersje standardu są zgodne z poprzednimi wersjami.

Bieżąca wersja to 1.0.0. Brak wartości domyślnej dla tej adnotacji.

SasEffectAuthor

Deklaruje to osobę, która stworzyła efekt. Jest on zadeklarowany w następujący sposób:

string SasEffectAuthor = "value";

gdzie wartość to ciąg, który identyfikuje autora efektu. Wartość domyślna to pusty ciąg.

SasEffectAuthoringSoftware

Deklaruje to oprogramowanie, na które został utworzony efekt. Jest on zadeklarowany w następujący sposób:

string SasEffectAuthoringSoftware = "value";

gdzie wartość jest ciągiem identyfikującym oprogramowanie do tworzenia efektu. Wartość domyślna to pusty ciąg.

SasEffectCategory

Spowoduje to zadeklarowanie kategorii efektu. Jest on zadeklarowany w następujący sposób:

string SasEffectCategory = "value";

gdzie wartość jest ciągiem, który identyfikuje kategorię efektu. Wartość domyślna to pusty ciąg. Kategoria jest wyrażana za pośrednictwem wartości podobnej do ścieżki przy użyciu ukośnika jako ogranicznika. Efekty mogą należeć tylko do jednej kategorii, ponieważ nie ma składni wyrażania włączenia w wielu ścieżkach w ramach jednej wartości SasEffectCategory. Wartość tej adnotacji nie jest traktowana jako uwzględniana wielkość liter przez aplikację hosta.

SasEffectCompany

Deklaruje to firmę, która stworzyła efekt. Jest on zadeklarowany w następujący sposób:

string SasEffectCompany = "value";

gdzie wartość to ciąg, który identyfikuje nazwę firmy będącej właścicielem efektu. Wartość domyślna to pusty ciąg.

SasEffectDescription

Opisuje to efekt. Jest on zadeklarowany w następujący sposób:

string SasEffectDescription = "value";

gdzie wartość to ciąg, który opisuje efekt. Wartość domyślna to pusty ciąg.

SasEffectHelp

Jest to ciąg pomocy, który może być wyświetlany użytkownikowi przy każdym żądaniu pomocy dotyczącej skojarzonego efektu. Jest on zadeklarowany w następujący sposób:

string SasEffectHelp = "value";

gdzie wartość to ciąg, który można wyświetlić, jeśli użytkownik zażąda pomocy. Wartość domyślna to pusty ciąg.

SasEffectRevision

Ta adnotacja umożliwia narzędziom i użytkownikom rejestrowanie numeru poprawki skojarzonego pliku efektu. Na przykład użytkownicy mogą wstawić odpowiednie słowa kluczowe w wartości tej adnotacji, aby wywołać podstawianie słów kluczowych w ulubionym oprogramowaniu kontroli poprawek. Jest on zadeklarowany w następujący sposób:

string SasEffectRevision = "value";

gdzie wartość jest ciągiem identyfikującym poprawkę efektu. Wartość domyślna to pusty ciąg.

Przykłady

Oto przykład, który używa tylko pojedynczej, wymaganej adnotacji:

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

Oto przykład, który używa wymaganej adnotacji i kilku opcjonalnych adnotacji:

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

adnotacje i semantyka w warstwie DirectX w warstwie Standardowa