Referência de semântica e anotações padrão do DirectX

As anotações padrão e a semântica (DXSAS) fornecem um método de uso de sombreadores de maneira padrão que permite que sombreadores sejam usados com ferramentas, aplicativos e mecanismos de jogos. O DXSAS define um conjunto de semânticas e anotações anexadas a valores de aplicativo host e parâmetros de efeito para fins de compartilhamento de efeitos. Para que essas anotações e semânticas sejam úteis, elas devem ser implementadas no aplicativo host e no arquivo de efeito. Este documento descreve o padrão DXSAS que aproveita o poder do DirectX Effect Framework para permitir que aplicativos host e ferramentas compartilhem efeitos DirectX (arquivos .fx) programaticamente, bem como para criar interação com a interface do usuário.

Informações gerais

Anotações padrão e semântica são projetadas para associar os parâmetros de efeito e arquivo X para hospedar valores de aplicativo. A Estrutura de Efeito D3DX (ou efeitos) encapsula o estado de renderização. Encapsulando o estado de renderização (incluindo vértice, textura e estado de processamento de pixel) em um efeito, você pode criar uma biblioteca de efeitos que abrange uma ampla gama de opções de renderização. Isso pode incluir opções como renderização em diferentes tipos de hardware ou renderização com mesclagem de passagem única ou múltipla. Para obter mais informações sobre a estrutura de efeito, consulte Referência de efeito. O DXSAS se baseia nessa estrutura, permitindo uma experiência mais consistente para os desenvolvedores. Depois que a configuração de renderização é encapsulada em um efeito, o padrão DXSAS permite que o desenvolvedor de efeito exponha a intenção dos parâmetros de efeito por meio de anotações. Essas anotações podem ser lidas por qualquer aplicativo ou ferramenta host (não apenas aquele que foi projetado para usar o efeito) que esteja em conformidade com o padrão entenderá como usar o efeito da maneira que foi projetada.

Padronizar o conjunto de semânticas de efeito e anotações que os aplicativos host dão suporte permitem que autores de efeitos criem efeitos que podem ser usados em vários projetos e, portanto, promovam uma comunidade mais ampla de usuários de efeito. O padrão DXSAS torna os arquivos legíveis por desenvolvedores, trocáveis entre ferramentas e permite que os desenvolvedores aproveitem ferramentas de terceiros para criar efeitos para seu pipeline.

Este documento descreve o padrão DXSAS que usa anotações para expressar a intenção de parâmetros de efeito, bem como definir uma coleção de valores de aplicativo host que os aplicativos host concordam em disponibilizar para um efeito.

Efeitos de criação com anotações padrão e semântica

Como você pode ver no diagrama a seguir, o padrão DXSAS requer anotações em um arquivo de efeito, bem como um aplicativo host que segue as diretrizes descritas aqui para trabalhar com o arquivo.

diagrama do padrão dxsas para aplicativos host e arquivos de efeito

O aplicativo host deve implementar a lógica da interface do usuário e o ambiente de host. Para implementar efeitos compatíveis com DXSAS, leia os seguintes tópicos:

  • O Parâmetro Global define informações pertinentes ao efeito, como a versão ou o autor do efeito.
  • A Associação de Dados define a coleção de parâmetros (bem como seu tipo e estrutura) que podem ser usados por um efeito que pode ser definido pelo aplicativo host exposto a efeitos.
  • Para associar um controle de interface do usuário a um parâmetro de efeito, use uma anotação de interface do usuário. Essas anotações incluem: SasUiMax, SasUiMin, SasUiSteps, SasUiStepsPower e SasUiStride.
  • Para inicializar um parâmetro de efeito com dados contidos em um arquivo externo, use uma Anotação de Inicialização de Parâmetro.
  • Quando os dados são transferidos entre o aplicativo host e um efeito (ou vice-versa), a conversão e a conversão ocorrerão quando os tipos não corresponderem exatamente. Esta seção especifica como os dados são gravados quando os tipos de origem e destino diferem. Além disso, use ParameterValueModifiers para modificar como o aplicativo host deve interpretar os dados lidos do parâmetro de efeito. Essas anotações incluem: SasNormalize e SasUnits.

Diferenciação de maiúsculas e minúsculas

Todos os identificadores, semântica e valores de anotação não diferenciam maiúsculas de minúsculas. Nomes de anotação (não valores) diferenciam maiúsculas de minúsculas. Os nomes de anotação são reconhecidos pelo sistema de efeitos D3DX e, portanto, os nomes de anotação SAS também são.

Referência de efeito