- Escreva e compile um Mesh Shader e (opcionalmente) um Amplification Shader usando o DXC.
- Crie um objeto de estado de pipeline de Mesh Shader usando o bytecode do shader compilado.
- Grave o dispatch do objeto de estado de pipeline de Mesh Shader usando uma lista de comandos.
- Execute a lista de comandos em uma fila de comandos.
Objetos de estado de pipeline de Mesh Shader
O Direct3D 12 expõe o pipeline de Mesh Shader por meio das APIs familiares de objeto de estado de pipeline gráfico. A criação do objeto de estado de pipeline de Mesh Shader usa as APIs de fluxo de estado de pipeline, conforme ilustrado nos dois próximos exemplos de código. As APIs ID3D12Device e ID3D12GraphicsCommandList permitem verificar o suporte de hardware e despachar cargas de trabalho do pipeline de Mesh Shader (o segundo exemplo de código). Observe que não é necessário verificar o suporte de hardware no XBOX Series X|S. O exemplo de código a seguir mostra uma desc de fluxo de pipeline de Mesh Shader a ser fornecida às APIs de criação de fluxo de pipeline.Mesh Shaders
Os Mesh Shaders são compilados com a ferramenta de linha de comando DXC ou com a biblioteca do compilador usando o novo perfil de shader “ms” de Mesh Shader, por exemplo, ms_6_5. O terceiro exemplo de código fornece uma implementação de exemplo de um Mesh Shader de triângulo em espaço de tela; acompanhe usando esse exemplo de código como referência. Veja a seguir um exemplo de compilação de um Mesh Shader na linha de comando.- NumThreads declara a dimensionalidade do grupo de threads
- OutputTopology declara o tipo de primitivo
