Parâmetro Global
Cada efeito compatível com DXSAS deve definir, no mínimo, um único parâmetro de efeito global com a semântica global. O parâmetro global também pode usar uma ou mais anotações opcionais. A sintaxe é mostrada a seguir:
int VariableName : SasGlobal
<
SasVersion
[OptionalAnnotations]
>;
em que:
- VariableName é um nome de variável de cadeia de caracteres de texto ASCII especificado pelo usuário.
- SasGlobal é o palavra-chave semântico que identifica esse parâmetro como o parâmetro DXSAS global.
- SasVersion é a única anotação necessária.
- OptionalAnnotations pode incluir o seguinte:
SasVersion
A única anotação necessária é SasVersion. Ele é declarado da seguinte maneira:
int3 SasVersion = { major, minor, revision };
em que:
- major indica a versão principal do DXSAS. As principais versões do DXSAS podem conter alterações abrangentes no conjunto de semânticas e anotações definidas. A semântica e as anotações podem ser adicionadas e removidas e, em geral, a compatibilidade com versões anteriores não é garantida.
- minor indica a versão secundária de SAS. Versões secundárias do DXSAS podem incluir a adição de novas semânticas ou anotações. Além disso, a semântica e as anotações podem ser marcadas como preteridas no padrão DXSAS. A semântica e as anotações preteridas ainda devem ter suporte de aplicativos host, mas podem emitir um diagnóstico de aviso quando essa semântica ou anotação é usada. As versões secundárias são compatíveis com versões anteriores.
- revision indica a revisão DXSAS. As revisões do DXSAS existem apenas como um meio de corrigir bugs, remover ambiguidade e refinar o padrão. As revisões para o padrão são compatíveis com versões anteriores.
A versão atual é 1.0.0. Não há nenhum valor padrão para essa anotação.
SasEffectAuthor
Isso declara a pessoa que criou o efeito. Ele é declarado da seguinte maneira:
string SasEffectAuthor = "value";
em que value é uma cadeia de caracteres que identifica o autor do efeito. O padrão é uma cadeia de caracteres vazia.
SasEffectAuthoringSoftware
Isso declara o software no qual o efeito foi criado. Ele é declarado da seguinte maneira:
string SasEffectAuthoringSoftware = "value";
em que value é uma cadeia de caracteres que identifica o software de criação de efeito. O padrão é uma cadeia de caracteres vazia.
SasEffectCategory
Isso declara a categoria de efeito. Ele é declarado da seguinte maneira:
string SasEffectCategory = "value";
em que value é uma cadeia de caracteres que identifica a categoria de efeito. O padrão é uma cadeia de caracteres vazia. A categoria é expressa por meio de um valor semelhante ao caminho usando a barra para frente como um delimitador. Os efeitos só podem pertencer a uma categoria, pois não há sintaxe para expressar a inclusão em vários caminhos dentro de um único valor SasEffectCategory. O valor dessa anotação não é tratado como diferenciando maiúsculas de minúsculas pelo aplicativo host.
SasEffectCompany
Isso declara a empresa que criou o efeito. Ele é declarado da seguinte maneira:
string SasEffectCompany = "value";
em que value é uma cadeia de caracteres que identifica o nome da empresa que possui o efeito . O padrão é uma cadeia de caracteres vazia.
SasEffectDescription
Isso descreve o efeito. Ele é declarado da seguinte maneira:
string SasEffectDescription = "value";
em que value é uma cadeia de caracteres que descreve o efeito. O padrão é uma cadeia de caracteres vazia.
SasEffectHelp
Essa é uma cadeia de caracteres de ajuda que pode ser exibida para o usuário sempre que a ajuda sobre o efeito associado é solicitada. Ele é declarado da seguinte maneira:
string SasEffectHelp = "value";
em que value é uma cadeia de caracteres que pode ser exibida se o usuário solicitar ajuda. O padrão é uma cadeia de caracteres vazia.
SasEffectRevision
Essa anotação permite que ferramentas e usuários registrem o número de revisão do arquivo de efeito associado. Por exemplo, os usuários podem inserir palavras-chave apropriadas no valor dessa anotação para invocar palavra-chave substituição em seu software de controle de revisão favorito. Ele é declarado da seguinte maneira:
string SasEffectRevision = "value";
em que value é uma cadeia de caracteres que identifica a revisão de efeito. O padrão é uma cadeia de caracteres vazia.
Exemplos
Aqui está um exemplo que usa apenas a anotação única e necessária:
int gp : SasGlobal
<
int3 SasVersion = {1,0,0};
>;
Aqui está um exemplo que usa a anotação necessária e várias anotações opcionais:
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$";
>;
Tópicos relacionados