Como Corrigir A Eliminação De Oclusão Do DirectX

Talvez você precise encontrar uma mensagem de erro dizendo que a oclusão do DirectX foi montada. Há uma série de alterações que você pode fazer para resolver esse problema. Voltaremos ao distinto em breve.

Quando seu computador está funcionando mal, este software irá corrigi-lo e proteger seus dados.

A remoção da oclusão simplesmente mostra melhorias no desempenho de renderização quando não descreve a geometria que está fora de vista e/ou obscurecida por objetos mais próximos da câmera real. Os dois tipos comuns relacionados com desoclusão são normalmente solicitação de oclusão e também deflexão z precoce.

directx occlusion culling

O exemplo D3D12PredicationQueries mostra como interromper a classificação de pacotes junto com as previsões de solicitação do DirectX 12. O passo a passo define o código adicional necessário para estender o exemplo principal de HelloConstBuffer para lidar com solicitações de previsão.

  • Crie outro deep-stencil-descriptor-heap e/ou occlusion-query-heap < /se>
  • Ativar o Alpha Dog Blending
  • Desativar gravação de cores e profundidade
  • Crie uma carga para armazenar os resultados da maioria das consultas
  • Desenhar-e-perform-quad-and-perform-and-resolve-the-oclusion-query
  • Execute a amostra
  • Tópicos relacionados
  • Criar uma pilha de descritor de modelo de profundidade e uma pilha de solicitação de oclusão

    O que acontece com a eliminação de oclusão da CPU?

    A seleção de oclusão geralmente é uma técnica de otimização de renderização feita para não desenhar triângulos (malha usando geral) que não são visíveis na tela do telefone porque sempre foram essencialmente obscurecidos (ou seja, “eles realmente estão atrás”) pela geometria de uma classe diferente. A Intel também fornece grande parte de toda a sua implementação de desoclusão de software, e isso merece um estudo.

     // Descrever e criar um fantástico grupo descritor Aspect Stencil View (DSV).              D3D12_DESCRIPTOR_HEAP_DESC dsvHeapDesc ​​= ;              dsvHeapDesc.NumDescriptors é 1;              dsvHeapDesc.Type é igual a D3D12_DESCRIPTOR_HEAP_TYPE_DSV;              dsvHeapDesc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_NONE;              ThrowIfFailed(m_device->CreateDescriptorHeap(&dsvHeapDesc, IID_PPV_ARGS(&m_dsvHeap)));

     // Descrever e criar o heap correto durante as solicitações de oclusão.              D3D12_QUERY_HEAP_DESC queryHeapDesc ​​significa;              queryHeapDesc.Count 1; isso pode estar implícito que queryHeapDesc.Type = D3D12_QUERY_HEAP_TYPE_OCCLUSION;              ThrowIfFailed(m_device->CreateQueryHeap(&queryHeapDesc, IID_PPV_ARGS(&m_queryHeap)));

    Ativar mistura alfa

    Este exemplo desenha dois quadríceps e explica uma discussão sobre oclusão binária. O quad dianteiro é animado no computador, enquanto o quad traseiro está escondido de vez em quando. A mistura alfa geralmente é habilitada no método LoadAssets para este exemplo, para que possamos ver que o D3D retorna o quadrado para baixo.

    directx closure culling

     // Habilite a mistura alfa de forma que pessoas ao redor do mundo possam acessar os resultados da consulta de interrupção.              CD3DX12_BLEND_DESC BlendDesc(CD3DX12_DEFAULT);              blendDesc.RenderTarget[0] =                                   CERTO ERRADO,                     D3D12_BLEND_SRC_ALPHA, D3D12_BLEND_INV_SRC_ALPHA, D3D12_BLEND_OP_ADD,                     D3D12_BLEND_ONE, D3D12_BLEND_ZERO, D3D12_BLEND_OP_ADD,                     D3D12_LOGIC_OP_NOOP,                     D3D12_COLOR_WRITE_ENABLE_ALL,              ;

    CD3DX12_BLEND_DESC
    CD3DX12_DEFAULT
    [D3D12_BLEND](/windows/desktop/api/d3d12/ne-d3d12-d3d12_blend)
    [D3D12_BLEND_OP](/windows/desktop/api/d3d12/ne-d3d12-d3d12_blend_op)
    [D3D12_LOGIC_OP](/windows/desktop/api/d3d12/ne-d3d12-d3d12_logic_op)
    [D3D12_COLOR_WRITE_ENABLE](/windows/desktop/api/d3d12/ne-d3d12-d3d12_color_write_enable)

    Desativar a cor da letra ou sombreamento e profundidade

    A consulta de oclusão é tentada renderizando um quad que aborda a mesma área que o quad geral que queremos verificar na visibilidade. Em cenas mais complexas, sua nova consulta será um nível de som delimitador em vez de um quad relativamente fácil. De qualquer forma, uma nova região de canal é criada que desativa a cópia para o destino de renderização e meu marido e meu z-buffer, portanto, a solicitação final em si não deve afetar nenhum de nosso rendimento visível da etapa de implantação.

    No qual o método LoadAssets, desative adicionando coloração e profundidade para registrar a menção da solicitação de interrupção.//

    A eliminação de oclusão reduz as chamadas de ganho?

    Como já observado, a eliminação de travamentos requer potência do processador em oferta de tempo de execução. Sim, você conserva as chamadas de redirecionamento (tempo de CPU) tão facilmente quanto os custos de renderização da GPU, pois isso reduzirá o saque a descoberto.

     Desative a produção de cores e, como resultado, o registro profundo para parar de adquirir o status.              psoDesc.BlendState.RenderTarget[0].RenderTargetWriteMask implica 0;             PsoDesc.DepthStencilState.DepthWriteMask é igual a D3D12_DEPTH_WRITE_MASK_ZERO;              ThrowIfFailed(m_device->CreateGraphicsPipelineState(&psoDesc, IID_PPV_ARGS(&m_queryState)));

    Crie um buffer para armazenar os resultados da consulta

    Como você ativa a seleção de fechamento?

    Para reabrir a porta ocular Occlusion Culling, use toda a lista suspensa da janela e escolha Render > Occlusion Culling. 2. A janela Occlusion Culling oferece três visualizações: Object, Tag e Visualization.

    No método LoadAssets, você precisa criar com sucesso um buffer para armazenar feedback para solicitações. Cada solicitação requer 1 byte de espaço de memória da GPU. Neste exemplo, apenas uma solicitação é feita normalmente e, para simplicidade e legibilidade, o melhor buffer criaria exatamente o que esse comprimento e extensão (embora essa importante chamada de função resulte em uma página de memória GPU absoluta de 64 K – quase todos os aplicativos do mundo real quase certamente criará um único buffer maior).

    Precisa corrigir erros do Windows? Reimage pode ajudar

    O seu computador está lento e lento? Você está recebendo a temida Tela Azul da Morte? Então é hora de baixar o Restoro! Este software revolucionário reparará todos os erros comuns do Windows, protegerá seus arquivos contra perda ou corrupção e manterá seu hardware funcionando de maneira ideal. Então, o que você está esperando? Baixe o Restoro agora!

  • 1. Baixe e instale o software Reimage
  • 2. Abra o software e clique em "Verificar problemas"
  • 3. Clique em "Reparar tudo" para iniciar o processo de reparo

  •  // Cria o buffer do resultado da consulta.              CD3DX12_HEAP_PROPERTIES heapProps(D3D12_HEAP_TYPE_DEFAULT);              requestBufferDesc automático = CD3DX12_RESOURCE_DESC::Buffer(8);              ThrowIfFailed(m_device->CreateCommittedResource(                     e lindos acessórios                     D3D12_HEAP_FLAG_NONE,                     &queryBufferDesc,                     D3D12_RESOURCE_STATE_GENERIC_READ,                     nolptr,                     IID_PPV_ARGS(&m_queryResult)                     ));

    Seu PC está dando problemas? Relaxe, há uma solução! Clique aqui para baixar.

    Directx Occlusion Culling
    Otsechenie Okklyuzii Directx
    Directx 오클루전 컬링
    Directx Occlusie Ruiming
    Directx Ocklusion Utslaktning
    Directx Okklusions Culling
    Elimination De L Occlusion Directx
    Usuniecie Okluzji Directx
    Abbattimento Dell Occlusione Diretta