Visualizador de Pipeline de gráficos
A janela Etapas do pipeline gráfico, que é uma das ferramentas de Diagnósticos Gráficos em Visual Studio, pode ajudá-lo a entender como um evento específico de desenho se move através de pipeline gráfico.
Essa é a janela de Fases do pipeline gráfico:
Entendendo a janela Fases do Pipeline dos Elementos Gráficos
A janela Etapas do pipeline gráfico pode ajudá-lo a analisar a saída de cada estágio do pipeline gráfico que se aplica a um objeto específico que foi renderizado.Em particular, você pode identificar as etapas em que os dados foram mau interpretados ou transformados incorretamente - por exemplo, você pode investigar se uma fase do sombreador de vértice causou um objeto para ser desenhado fora da tela.Quando você identificar a fase do pipeline em que o problema ocorre, você pode usar as outras ferramentas do Graphics Diagnostics para examinar como os dados são interpretados ou transformados.Problemas de renderização que aparecem nas fases de pipeline são geralmente relacionados a descritores de formato de vértice incorretos, programa de sombreador com bugs ou estado de dispositivo mal configurado.
Fases da canalização de gráficos
A janela Etapas do pipeline gráfico exibe dados de gráficos somente para as etapas de pipeline que estão ativas durante a chamada de desenho.Para usar as ferramentas de elementos gráficos no Visual Studio para examinar a saída de cada estágio exibida, escolha a miniatura associada na janela Fases do Pipeline de Elementos Gráficos.
Os sombreadores de cálculo não são suportados na janela Fases da canalização de gráficos.
Assembler de Entrada
Lê dados de índice e de vértice que são fornecidos pelo aplicativo e os monta para o hardware gráfico.A miniatura exibe um modelo de wireframe dos vértices montados.Os dados de vértice que correspondem à posição são determinados pela semântica POSITION.Se a semântica POSITION não está presente na saída do montador de entrada, então nada será exibido no estágio do Montador de Entrada .Você pode usar o editor modelo para examinar a saída de fase de Assembler de Entrada .Vertex Shader
Processa vértices, normalmente executando operações como transformações, aplicações de capa e iluminação.Um sombreador de vértice sempre tem uma entrada de vértice e produz uma saída de vértice.A miniatura exibe uma imagem de wireframe da geometria transformada.Os dados de vértice que correspondem à posição são determinados pela semântica POSITION ou SV_POSITION .Se a semântica POSITION ou SV_POSITION não está presente na saída do sombreador de vértice, então nada será exibido no estágio Sombreador de Vértice .Você pode usar o editor de imagem para examinar a saída do estágio do Vertex Shader .Sombreador de Invólucro
Apenas Direct3D 11.Processa primitivos geométricos (quadriláteros, triângulos ou linhas) em patches geométricos de ordem inferior que servem de entrada para o estágio de subdivisão aleatória da função fixa.Nenhuma miniatura é exibida para o Sombreador de Envoltório.Sombreador de Domínio
Apenas Direct3D 11.Processa vértices de subdivisão resultantes do estágio de subdivisão aleatória da função fixa, semelhante ao estágio de sombreador de vértice.Nenhuma miniatura é exibida para o estágio Sombreador de Domínio.Sombreador de Geometria
Processa primitivos inteiros (pontos, linhas ou triângulo) juntamente com informações opcionais de vértice de primitivos adjacentes.Um sombreador de geometria pode descartar o primitivo ou emitir um ou mais primitivos novos.A miniatura exibe uma imagem de wireframe da geometria transformada.Você pode usar o Editor de Imagem para examinar a saída do estágio do Geometrias Shader .Sombreador de pixel
Processa dados de vértices interpolados para gerar pixels coloridos.A miniatura exibe uma imagem da saída do sombreador de pixel.Você pode usar o editor de imagem para examinar a saída do estágio do Pixel Shade .Fusão de Saída
Combina vários tipos de resultados de sombreamento - por exemplo, os valores do sombreador de pixel e informações de profundidade - juntamente com o conteúdo do destino de renderização e o buffer de profundidade, juntamente com informações do buffer de estêncil, para determinar como o destino de renderização é afetado.A miniatura exibe uma imagem dos conteúdos de destino de renderização depois que os vários resultados foram mesclados e os conteúdos do buffer estêncil foram considerados.Você pode usar o editor de imagem para examinar a saída de fase de Fusão de Saída .
Código de características de exibição e de depuração
Você pode exibir o código para um Sombreador de Vértice, Sombreador de Envoltório, Sombreador de Domínio, Sombreador de Geometria, ou Sombreador de Pixel, ou depurar usando os controles sob a fase de pipeline associada ao sombreador.
Para exibir um código-fonte do sombreador
- Abaixo da fase de canalização associada com o sombreador que você deseja exibir, escolha o título da fase de canalização - por exemplo, escolha Sombreador de vértice para exibir o código-fonte do sombreador de vértice.
Para depurar um sombreador
- Abaixo do estágio do sombreador associada com o sombreador que você deseja depurar, sob o título do estágio de canalização, escolha Iniciar Depuração.Esse ponto de entrada no depurador HLSL depura apenas a primeira chamada do sombreador para a etapa correspondente, isto é, o primeiro vértice, primitivo, ou pixel que é processado.Outras invocações desses estágios do sombreador podem ser acessadas por meio do Histórico de Pixel de Gráficos.
Link para o dispositivo dos gráficos
Para entender como uma chamada de desenho interage de uma maneira específica com o pipeline dos elementos gráficos, você pode precisar de informações sobre o estado atual do dispositivo.A janela Etapas do pipeline gráfico fornece um link para essas informações.
Consulte também
Tarefas
Passo a passo: Objetos ausentes devido ao sombreamento de vértice
Passo a passo: Depuração de erros devido a sombreamento de processamento