Sdílet prostřednictvím


Globální parametr

Každý efekt kompatibilní s DXSAS musí definovat minimálně jeden parametr globálního efektu s globální sémantickou. Globální parametr může také použít jednu nebo více volitelných poznámek. Syntaxe je následující:

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

kde:

  • VariableName je název proměnné textového řetězce ASCII zadaný uživatelem.
  • SasGlobal je sémantické klíčové slovo, které identifikuje tento parametr jako globální parametr DXSAS.
  • SasVersion je jediná povinná poznámka.
  • Volitelné poznámky můžou zahrnovat následující:

SasVersion

Jedinou povinnou poznámkou je SasVersion. Deklaruje se takto:

int3 SasVersion = { major, minor, revision };

kde:

  • hlavní verze indikuje hlavní verzi DXSAS. Hlavní verze DXSAS můžou obsahovat uklidnění změn sady sémantik a poznámek definovaných. Sémantika a poznámky lze přidávat a odebírat a obecně není zaručena zpětná kompatibilita s předchozími verzemi.
  • podverze označuje podverzi SAS. Dílčí verze DXSAS můžou zahrnovat přidání nových sémantiky nebo poznámek. Kromě toho může být sémantika a poznámky označeny jako zastaralé ve standardu DXSAS. Hostitelské aplikace stále musí podporovat zastaralé sémantiky a poznámky, ale můžou generovat diagnostiku upozornění, pokud se použije sémantická nebo anotace. Dílčí verze jsou zpětně kompatibilní s předchozími verzemi.
  • revize označuje revizi DXSAS. Revize DXSAS existují pouze jako prostředek k opravě chyb, odebrání nejednoznačnosti a upřesnění standardu. Revize standardu jsou zpětně kompatibilní s předchozími verzemi.

Aktuální verze je 1.0.0. Pro tuto poznámku neexistuje žádná výchozí hodnota.

SasEffectAuthor

Tím se deklaruje osoba, která efekt vytvořila. Deklaruje se takto:

string SasEffectAuthor = "value";

kde hodnota je řetězec, který identifikuje autora efektu. Výchozí hodnota je prázdný řetězec.

SasEffectAuthoringSoftware

Tím se deklaruje software, na který byl účinek vytvořený. Deklaruje se takto:

string SasEffectAuthoringSoftware = "value";

where value is a string that identifies the effect authoring software. Výchozí hodnota je prázdný řetězec.

SasEffectCategory

Tím se deklaruje kategorie efektu. Deklaruje se takto:

string SasEffectCategory = "value";

kde hodnota je řetězec, který identifikuje kategorii efektu. Výchozí hodnota je prázdný řetězec. Kategorie se vyjadřuje pomocí hodnoty podobné cestě pomocí lomítka jako oddělovače. Efekty mohou patřit pouze do jedné kategorie, protože neexistuje žádná syntaxe pro vyjádření zahrnutí do více cest v rámci jedné hodnoty SasEffectCategory. Hodnota této poznámky není považována za malá a velká písmena v hostitelské aplikaci.

SasEffectCompany

Tím se deklaruje společnost, která efekt vytvořila. Deklaruje se takto:

string SasEffectCompany = "value";

where value is a string that identifies the name of the company that owns the effect. Výchozí hodnota je prázdný řetězec.

SasEffectDescription

Tento článek popisuje účinek. Deklaruje se takto:

string SasEffectDescription = "value";

where value is a string that describes the effect. Výchozí hodnota je prázdný řetězec.

SasEffectHelp

Jedná se o řetězec nápovědy, který se uživateli může zobrazit při každém vyžádání nápovědy k přidruženému efektu. Deklaruje se takto:

string SasEffectHelp = "value";

where value is a string that can be displayed if the user requests help. Výchozí hodnota je prázdný řetězec.

SasEffectRevision

Tato poznámka umožňuje nástrojům a uživatelům zaznamenat číslo revize přidruženého souboru efektu. Uživatelé mohou například do hodnoty této poznámky vložit příslušná klíčová slova, aby v oblíbeném softwaru pro kontrolu revizí vyvolali nahrazení klíčových slov. Deklaruje se takto:

string SasEffectRevision = "value";

kde hodnota je řetězec, který identifikuje revizi efektu. Výchozí hodnota je prázdný řetězec.

Příklady

Tady je příklad, který používá jenom jednu požadovanou poznámku:

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

Tady je příklad, který používá požadovanou poznámku a několik volitelných poznámek:

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

standardních poznámek a sémantiky DirectX