- Qual é a principal limitação do Z-buffer?
Passo 1
O enunciado pergunta qual é a principal limitação do Z-buffer, que é o método de remoção de superfícies ocultas em gráficos 3D baseado em armazenar, para cada pixel, uma profundidade (o “Z”) e descartar fragmentos mais longe. Para responder, vamos comentar o funcionamento básico e apontar onde ele mais sofre.
Passo 2
O Z-buffer armazena em memória, para cada pixel da imagem, um valor de profundidade com precisão finita (por exemplo, 16, 24 ou 32 bits). Quando dois polígonos estão muito próximos ao longo do eixo de visão, a diferença de profundidade pode ficar abaixo da menor unidade que o buffer consegue representar. Nesse caso, o sistema não sabe qual está realmente na frente e acaba alternando fragmentos de ambos.
Passo 3
Esse fenômeno de “luta de profundidade” (z-fighting) gera artefatos visuais: pixels piscando ou partes de superfícies aparecendo e desaparecendo. Além disso, para aumentar a precisão e reduzir o problema, é preciso usar buffers com mais bits ou distribuir mal as precisões entre o near e o far, o que nem sempre é viável por custo de memória ou limitações de hardware.
Resposta
A principal limitação do Z-buffer é a precisão finita do buffer de profundidade, que causa artefatos de z-fighting quando superfícies muito próximas concorrem pelo mesmo valor de profundidade.