Compartilhar via


Código D3D12 Walk-Throughs

Esta seção fornece código para cenários de exemplo. Muitos dos passo a passo fornecem detalhes sobre qual codificação é necessária para ser adicionada a um exemplo básico, para evitar repetir o código de componente básico para cada cenário.

Para obter o componente mais básico, consulte a seção Criando um componente Direct3D 12 básico. Os passo a passo a seguir descrevem cenários mais avançados.

Nesta seção

Tópico Descrição
D2D usando d3D11on12
O exemplo de D3D1211on12 do demonstra como renderizar conteúdo D2D por conteúdo D3D12 compartilhando recursos entre um dispositivo baseado em 11 e um dispositivo baseado em 12.
simulação de gravidade n-corpo de vários mecanismos
O exemplo de D3D12nBodyGravity demonstra como fazer com que a computação funcione de forma assíncrona. O exemplo gira vários threads cada um com uma fila de comandos de computação e agenda o trabalho de computação na GPU que executa uma simulação de gravidade n-corpo. Cada thread opera em dois buffers cheios de dados de posição e velocidade. Com cada iteração, o sombreador de computação lê os dados atuais de posição e velocidade de um buffer e grava a próxima iteração no outro buffer. Quando a iteração é concluída, o sombreador de computação troca qual buffer é o SRV para ler dados de posição/velocidade e que é o UAV para gravar atualizações de posição/velocidade alterando o estado do recurso em cada buffer.
consultas de precação
O exemplo D3D12PredicationQueries demonstra o abate de oclusão usando heaps de consulta DirectX 12 e a precação. O passo a passo descreve o código adicional necessário para estender o exemplo de HelloConstBuffer para lidar com consultas de pré-indicação.
Indexação Dinâmica usando o HLSL 5.1
O exemplo D3D12DynamicIndexing demonstra alguns dos novos recursos de HLSL disponíveis no Modelo de Sombreador 5.1 – particularmente indexação dinâmica e matrizes não associadas – para renderizar a mesma malha várias vezes, cada vez renderizando-a com um material selecionado dinamicamente. Com a indexação dinâmica, os sombreadores agora podem indexar em uma matriz sem saber o valor do índice em tempo de compilação. Quando combinado com matrizes não associadas, isso adiciona outro nível de indireção e flexibilidade para autores de sombreador e pipelines de arte.
desenho indireto e de abate de GPU
O exemplo D3D12ExecuteIndirect demonstra como usar comandos indiretos para desenhar conteúdo. Ele também demonstra como esses comandos podem ser manipulados na GPU em um sombreador de computação antes de serem emitidos.

Guia de Programação do Direct3D 12

tutoriais de vídeo de aprendizado avançado do DirectX

código de exemplo no de referência D3D12

exemplos de trabalho