Nos jogos recentes, notei algo chamado Tessellation, Ativar a coisa destrói minha taxa de quadros.
Percebi que, quando ativado, parece com Anti-Aliasing.
Alguém pode me dar mais informações sobre o que exatamente a GPU faz.
pixel-graphics
Anarach
fonte
fonte
Respostas:
O mosaico é uma técnica que permite gerar primitivas (triângulos, linhas, pontos e outros) na placa gráfica. Especificamente, ele permite subdividir repetidamente a geometria atual em uma malha mais fina.
Isso permite que você carregue uma malha relativamente grossa na sua placa de vídeo, gere mais vértices e triângulos dinamicamente e depois tenha uma malha na tela que parecerá muito mais suave.
Na maioria das vezes, esse mosaico é feito novamente em cada quadro único, e esse pode ser o motivo pelo qual a taxa de quadros cai quando você o ativa.
A pavimentação é feita em vários estágios, e APÓS o shader de vértice.
Os termos para cada estágio variam com base na API. No DirectX, são o Hull Shader, o Hardware Tessellation e o Domain Shader. No OpenGL, eles são chamados de Tessellation Control Shader, Tesselation Primitive Generation e Tessellation Evaluation Shader.
O primeiro e o último estágio são programáveis, o mosaico real é feito pelo hardware em um estágio de função fixa.
No sombreador Controle de mosaico, você define o tipo e o número de subdivisões.
Em seguida, o mosaico de hardware divide a geometria de acordo com o Control Shader.
Por fim, o sombreador de avaliação de mosaico é chamado para cada vértice recém-gerado. Nesse sombreador, você define o tipo de primitivo que deseja gerar e como os vértices são espaçados e muitas outras coisas. Esse sombreador também pode ser usado para fazer todos os tipos de cálculos por vértice, assim como um sombreador de vértice. É garantido que será chamado pelo menos uma vez para cada vértice gerado.
Se você quiser fazer algum trabalho adicional nas primitivas, poderá adicionar um sombreador Geometry.
fonte
Ativa 3 estágios no pipeline.
O primeiro é o sombreador de controle de mosaico (sombreador do casco no D3D), que analisa um conjunto de vértices e depois mostra como ele deve ser dividido em triângulos separados.
O segundo é um estágio de função fixa que irá gerar os triângulos solicitados.
O terceiro estágio, o sombreador de avaliação de mosaico (sombreador de domínio em D3D), que é executado por vértice gerado e o colocará no local correto com base nas coordenadas baricêntricas do vértice gerado.
Isso é usado para o nível de detalhe para gerar mais triângulos quando a malha está mais próxima da câmera.
fonte