- Écrire et compiler un Mesh Shader et (facultativement) un Amplification Shader à l’aide de DXC.
- Créer un objet d’état de pipeline Mesh Shader à l’aide du bytecode du shader compilé.
- Enregistrer la distribution de l’objet d’état de pipeline Mesh Shader à l’aide d’une liste de commandes.
- Exécuter la liste de commandes sur une file d’attente de commandes.
Objets d’état de pipeline Mesh Shader
Direct3D 12 expose le pipeline Mesh Shader par le biais des API familières d’objets d’état de pipeline graphique. La création de l’objet d’état de pipeline Mesh Shader utilise les API de flux d’état de pipeline, comme illustré dans les deux exemples de code suivants. Les API ID3D12Device et ID3D12GraphicsCommandList permettent de vérifier la prise en charge matérielle et de distribuer les charges de travail du pipeline Mesh Shader (deuxième exemple de code). Notez qu’il n’est pas nécessaire de vérifier la prise en charge matérielle sur XBOX Series X|S. L’exemple de code suivant montre une description de flux de pipeline Mesh Shader à fournir aux API de création de flux de pipeline.Mesh Shaders
Les Mesh Shaders sont compilés avec l’outil en ligne de commande DXC ou avec la bibliothèque du compilateur, en utilisant le nouveau profil de shader Mesh Shader « ms », par exemple ms_6_5. Le troisième exemple de code fournit un exemple d’implémentation d’un Mesh Shader de triangle en espace écran ; suivez les explications en utilisant cet exemple de code comme référence. Voici un exemple de compilation d’un Mesh Shader en ligne de commande.- NumThreads déclare la dimensionnalité du groupe de threads
- OutputTopology déclare le type de primitive
