Globale parameter

Elk DXSAS-compatibel effect moet minimaal één globale effectparameter met de globale semantische parameter definiëren. De globale parameter kan ook een of meer optionele aantekeningen gebruiken. De syntaxis is als volgt:

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

waar:

SasVersion

De enige vereiste aantekening is SasVersion. Deze wordt als volgt gedeclareerd:

int3 SasVersion = { major, minor, revision };

waar:

  • major geeft de primaire DXSAS-release aan. Belangrijke releases van DXSAS kunnen opruimende wijzigingen in de set semantiek en aantekeningen bevatten die zijn gedefinieerd. Semantiek en aantekeningen kunnen worden toegevoegd en verwijderd en over het algemeen is compatibiliteit met eerdere versies niet gegarandeerd.
  • minor geeft de secundaire SAS-release aan. Secundaire releases van DXSAS kunnen de toevoeging van nieuwe semantiek of aantekeningen bevatten. Daarnaast kunnen semantiek en aantekeningen worden gemarkeerd als afgeschaft in de DXSAS-standaard. Afgeschafte semantiek en aantekeningen moeten nog steeds worden ondersteund door hosttoepassingen, maar kunnen een waarschuwingsdiagnose verzenden wanneer een dergelijke semantische of annotatie wordt gebruikt. Kleine releases zijn achterwaarts compatibel met eerdere versies.
  • revisie geeft de DXSAS-revisie aan. Revisies van DXSAS bestaan alleen als een middel om bugs op te lossen, dubbelzinnigheid te verwijderen en de standaard te verfijnen. Revisies naar de standaard zijn achterwaarts compatibel met eerdere versies.

De huidige versie is 1.0.0. Er is geen standaardwaarde voor deze aantekening.

SasEffectAuthor

Hiermee declareert u de persoon die het effect heeft gemaakt. Deze wordt als volgt gedeclareerd:

string SasEffectAuthor = "value";

waarbij de waarde een tekenreeks is die de auteur van het effect identificeert. De standaardwaarde is een lege tekenreeks.

SasEffectAuthoringSoftware

Hiermee declareert u de software waarop het effect is geschreven. Deze wordt als volgt gedeclareerd:

string SasEffectAuthoringSoftware = "value";

waarbij de waarde een tekenreeks is die het effect van ontwerpsoftware identificeert. De standaardwaarde is een lege tekenreeks.

SasEffectCategory

Hiermee wordt de effectcategorie declareren. Deze wordt als volgt gedeclareerd:

string SasEffectCategory = "value";

waarbij de waarde een tekenreeks is die de effectcategorie identificeert. De standaardwaarde is een lege tekenreeks. De categorie wordt uitgedrukt via een padachtige waarde met behulp van de slash als scheidingsteken. Effecten kunnen slechts tot één categorie behoren, omdat er geen syntaxis is voor het uitdrukken van opname in meerdere paden binnen één SasEffectCategory-waarde. De waarde van deze aantekening wordt niet behandeld als hoofdlettergevoelig door de hosttoepassing.

SasEffectCompany

Hiermee declareert u het bedrijf dat het effect heeft gemaakt. Deze wordt als volgt gedeclareerd:

string SasEffectCompany = "value";

waarbij de waarde een tekenreeks is die de naam aangeeft van het bedrijf dat eigenaar is van het effect. De standaardwaarde is een lege tekenreeks.

SasEffectDescription

Dit beschrijft het effect. Deze wordt als volgt gedeclareerd:

string SasEffectDescription = "value";

waarbij de waarde een tekenreeks is die het effect beschrijft. De standaardwaarde is een lege tekenreeks.

SasEffectHelp

Dit is een Help-tekenreeks die aan de gebruiker kan worden weergegeven wanneer om hulp bij het bijbehorende effect wordt gevraagd. Deze wordt als volgt gedeclareerd:

string SasEffectHelp = "value";

waarbij de waarde een tekenreeks is die kan worden weergegeven als de gebruiker om hulp vraagt. De standaardwaarde is een lege tekenreeks.

SasEffectRevision

Met deze aantekening kunnen hulpprogramma's en gebruikers het revisienummer van het bijbehorende effectbestand vastleggen. Gebruikers kunnen bijvoorbeeld de juiste trefwoorden invoegen in de waarde van deze aantekening om vervanging van trefwoorden aan te roepen in hun favoriete revisiebeheersoftware. Deze wordt als volgt gedeclareerd:

string SasEffectRevision = "value";

waarbij de waarde een tekenreeks is die de effectrevisie identificeert. De standaardwaarde is een lege tekenreeks.

Voorbeelden

Hier volgt een voorbeeld waarin alleen de enkele, vereiste aantekening wordt gebruikt:

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

Hier volgt een voorbeeld waarin de vereiste aantekeningen en verschillende optionele aantekeningen worden gebruikt:

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

DirectX Standard-aantekeningen en Semantiekreferenties