1. O que é o Z-buffer e qual o seu propósito em computação gráfica?

Passo 1

O enunciado pergunta o que é o Z-buffer e para que ele serve em computação gráfica. Esse tema faz parte do pipeline de renderização, mais especificamente do estágio de remoção de superfícies ocultas, em que precisamos decidir quais polígonos ou fragmentos devem ficar visíveis na cena final.

Passo 2

O Z-buffer é uma matriz de valores de profundidade (o “buffer de profundidade”) que acompanha o frame buffer (onde ficam as cores dos pixels). Para cada pixel da tela existe uma posição correspondente no Z-buffer que armazena a menor distância (profundidade) já escrita naquele local. Quando um novo fragmento (um candidato a pintar um pixel) chega, comparamos sua profundidade com o valor guardado no Z-buffer:
\bullet Se o fragmento estiver mais próximo da câmera (profundidade menor), ele substitui a cor no frame buffer e atualiza a profundidade no Z-buffer.
\bullet Se estiver mais distante, ele é descartado.

Passo 3

Graças ao Z-buffer, cada fragmento faz apenas uma simples comparação de profundidade para decidir se será visível ou não. Isso elimina a necessidade de cálculos complexos de interseção entre polígonos ou ordenação prévia de triângulos, tornando a remoção de superfícies ocultas eficiente e totalmente paralelizável no hardware gráfico.

Resposta

O Z-buffer é um buffer de profundidade que armazena, para cada pixel, a menor distância já renderizada até a câmera. Seu propósito é garantir a remoção de superfícies ocultas por meio de comparações de profundidade simples, decidindo automaticamente quais fragmentos devem ser desenhados para representar corretamente a cena 3D.

Exercícios relacionados