Condividi tramite


Parametro globale

Ogni effetto conforme DXSAS deve definire, come minimo, un singolo parametro di effetto globale con la semantica globale. Il parametro globale può anche usare una o più annotazioni facoltative. La sintassi è la seguente:

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

dove:

SasVersion

L'unica annotazione necessaria è SasVersion. È dichiarato come segue:

int3 SasVersion = { major, minor, revision };

dove:

  • major indica la versione principale DXSAS. Le versioni principali di DXSAS possono contenere modifiche a livello di set di semantiche e annotazioni definite. La semantica e le annotazioni possono essere aggiunte e rimosse e, in generale, la compatibilità con le versioni precedenti non è garantita.
  • secondaria indica la versione secondaria di firma di accesso condiviso. Le versioni secondarie di DXSAS possono includere l'aggiunta di nuove semantiche o annotazioni. Inoltre, le semantiche e le annotazioni possono essere contrassegnate come deprecate nello standard DXSAS. Le semantiche deprecate e le annotazioni devono comunque essere supportate dalle applicazioni host, ma possono generare una diagnostica di avviso quando viene usata una semantica o un'annotazione di questo tipo. Le versioni secondarie sono compatibili con le versioni precedenti.
  • la revisione indica la revisione DXSAS. Le revisioni di DXSAS esistono solo come mezzo per correggere bug, rimuovere ambiguità e perfezionare lo standard. Le revisioni allo standard sono compatibili con le versioni precedenti.

La versione corrente è 1.0.0. Non esiste alcun valore predefinito per questa annotazione.

SasEffectAuthor

Questo dichiara la persona che ha creato l'effetto. È dichiarato come segue:

string SasEffectAuthor = "value";

dove valore è una stringa che identifica l'autore dell'effetto. Il valore predefinito è una stringa vuota.

SasEffectAuthoringSoftware

Questo dichiara il software su cui è stato creato l'effetto. È dichiarato come segue:

string SasEffectAuthoringSoftware = "value";

dove valore è una stringa che identifica il software di creazione degli effetti. Il valore predefinito è una stringa vuota.

SasEffectCategory

In questo modo viene dichiarata la categoria di effetto. È dichiarato come segue:

string SasEffectCategory = "value";

dove valore è una stringa che identifica la categoria di effetti. Il valore predefinito è una stringa vuota. La categoria viene espressa tramite un valore simile al percorso usando la barra in avanti come delimitatore. Gli effetti possono appartenere solo a una categoria perché non esiste alcuna sintassi per esprimere l'inclusione in più percorsi all'interno di un singolo valore SasEffectCategory. Il valore di questa annotazione non viene considerato come distinzione tra maiuscole e minuscole dall'applicazione host.

SasEffectCompany

Ciò dichiara l'azienda che ha creato l'effetto. È dichiarato come segue:

string SasEffectCompany = "value";

dove valore è una stringa che identifica il nome dell'azienda proprietaria dell'effetto. Il valore predefinito è una stringa vuota.

SasEffectDescription

Questo descrive l'effetto. È dichiarato come segue:

string SasEffectDescription = "value";

dove valore è una stringa che descrive l'effetto. Il valore predefinito è una stringa vuota.

SasEffectHelp

Questa è una stringa della Guida che può essere visualizzata all'utente ogni volta che viene richiesto l'aiuto sull'effetto associato. È dichiarato come segue:

string SasEffectHelp = "value";

dove il valore è una stringa che può essere visualizzata se l'utente richiede assistenza. Il valore predefinito è una stringa vuota.

SasEffectRevision

Questa annotazione consente agli strumenti e agli utenti di registrare il numero di revisione del file di effetto associato. Ad esempio, gli utenti potrebbero inserire parole chiave appropriate nel valore di questa annotazione per richiamare la sostituzione delle parole chiave nel software di controllo revisione preferito. È dichiarato come segue:

string SasEffectRevision = "value";

dove valore è una stringa che identifica la revisione dell'effetto. Il valore predefinito è una stringa vuota.

Esempio

Ecco un esempio che usa solo l'annotazione singola e obbligatoria:

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

Ecco un esempio che usa l'annotazione necessaria e diverse annotazioni facoltative:

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 irridescent surface.";
  string SasEffectHelp = "For more information, see https://somelocation/skin.htm";    
  string SasEffectRevision = "$Revision$";  
>;

Riferimenti a annotazioni e semantiche DirectX Standard