Partager via


Informations de référence sur les annotations et la sémantique standard DirectX

Les annotations et sémantiques standard (DXSAS) fournissent une méthode d’utilisation des nuanceurs de manière standard qui permet d’utiliser des nuanceurs avec des outils, des applications et des moteurs de jeu. DXSAS définit un ensemble de sémantiques et d’annotations qui sont attachées aux valeurs d’application hôte et aux paramètres d’effet dans le but de partager des effets. Pour que ces annotations et sémantiques soient utiles, elles doivent être implémentées à la fois dans l’application hôte et dans le fichier d’effet. Ce document décrit la norme DXSAS qui tire parti de la puissance de DirectX Effect Framework pour permettre aux applications et outils hôtes de partager des effets DirectX (fichiers .fx) par programmation, ainsi que de concevoir une interaction avec l’interface utilisateur.

Informations générales

Les annotations et la sémantique standard sont conçues pour lier des paramètres d’effet et de fichier X à des valeurs d’application hôtes. L’infrastructure d’effet D3DX (ou les effets) encapsule l’état de rendu. En encapsulant l’état de rendu (y compris l’état de traitement du vertex, de la texture et du pixel) dans un effet, vous pouvez créer une bibliothèque d’effets couvrant un large éventail d’options de rendu. Cela peut inclure des options telles que le rendu sur différents types de matériel ou le rendu avec un mélange simple ou multi-passe. Pour plus d’informations sur l’infrastructure d’effet, reportez-vous à Référence sur l’effet. DXSAS s’appuie sur cette infrastructure, ce qui permet une expérience plus cohérente pour les développeurs. Une fois la configuration de rendu encapsulée dans un effet, la norme DXSAS permet au développeur d’effets d’exposer l’intention des paramètres d’effet par le biais d’annotations. Ces annotations peuvent ensuite être lues par n’importe quelle application ou outil hôte (pas seulement celui qui a été conçu pour utiliser l’effet) qui est conforme à la norme comprendra comment utiliser l’effet de la manière qui a été conçue.

La normalisation de l’ensemble de sémantiques d’effet et d’annotations prises en charge par les applications hôtes permet aux auteurs d’effets de créer des effets qui peuvent être utilisés dans plusieurs projets et de promouvoir ainsi une communauté plus large d’utilisateurs d’effets. La norme DXSAS rend les fichiers lisibles par les développeurs, échangeables entre les outils et permet aux développeurs de tirer parti d’outils tiers pour créer des effets pour leur pipeline.

Ce document décrit la norme DXSAS qui utilise des annotations pour exprimer l’intention des paramètres d’effet, ainsi que la définition d’une collection de valeurs d’application hôte que les applications hôtes acceptent de mettre à la disposition d’un effet.

Effets de création avec des annotations et une sémantique standard

Comme vous pouvez le voir dans le diagramme suivant, la norme DXSAS nécessite des annotations dans un fichier d’effet, ainsi qu’une application hôte qui suit les instructions décrites ici pour utiliser le fichier.

diagramme de la norme dxsas pour les applications hôtes et les fichiers d’effet

L’application hôte doit implémenter la logique d’interface utilisateur et l’environnement hôte. Pour implémenter des effets conformes À DXSAS, lisez les rubriques suivantes :

  • Le paramètre global définit les informations pertinentes pour l’effet, telles que la version ou l’auteur de l’effet.
  • La liaison de données définit la collection de paramètres (ainsi que leur type et leur structure) qui peuvent être utilisés par un effet qui peut être défini par l’application hôte exposée aux effets.
  • Pour associer un contrôle d’interface utilisateur à un paramètre d’effet, utilisez une annotation d’interface utilisateur. Ces annotations incluent : SasUiMax, SasUiMin, SasUiSteps, SasUiStepsPower et SasUiStride.
  • Pour initialiser un paramètre d’effet avec des données contenues dans un fichier externe, utilisez une annotation d’initialisation de paramètre.
  • Lorsque des données sont transférées entre l’application hôte et un effet (ou vice versa), le cast et la conversion se produisent lorsque les types ne correspondent pas exactement. Cette section spécifie comment les données sont écrites lorsque les types source et cible diffèrent. En outre, utilisez ParameterValueModifiers pour modifier la façon dont l’application hôte doit interpréter les données lues à partir du paramètre d’effet. Ces annotations incluent : SasNormalize et SasUnits.

Respect de la casse

Tous les identificateurs, sémantiques et valeurs d’annotation ne respectent pas la casse. Les noms d’annotation (et non les valeurs) respectent la casse. Les noms d’annotation sont reconnus par le système d’effets D3DX et, par conséquent, les noms d’annotation SAS le sont également.

Référence d’effet