1. Em que etapa do pipeline gráfico o Z-buffer é utilizado?

Passo 1

O enunciado pergunta em que etapa do pipeline gráfico 3D o Z-buffer (ou depth buffer) é utilizado. O tema aqui é pipeline de renderização e remoção de superfícies ocultas (hidden surface removal). Para responder, precisamos revisar as fases do pipeline e apontar quando ocorre o teste de profundidade.

Passo 2

O pipeline gráfico 3D costuma ser dividido em três blocos principais:
  1. Bloco de aplicação e transformação geométrica: montagem de vértices, modelagem, projeção e clipping.
  2. Rasterização: conversão de primitivas (triângulos) em fragments (pixels candidatos).
  3. Operações de fragmento e composição no frame-buffer: aqui ocorrem testes por fragmento, como o teste de profundidade (depth test), blend, stencil, etc.

Passo 3

O Z-buffer é a estrutura que armazena, para cada pixel, o valor de profundidade (z) da superfície atualmente visível. Durante as operações de fragmento, cada novo fragmento gerado na rasterização tem seu valor de profundidade comparado com o valor já guardado no Z-buffer. Se o novo fragmento estiver mais próximo da câmera (menor z), ele passa no teste de profundidade, substitui o valor no Z-buffer e escreve sua cor no frame-buffer; caso contrário, ele é descartado.

Resposta

O Z-buffer é utilizado na etapa de operações de fragmento, imediatamente após a rasterização, para realizar o teste de profundidade (depth test) e remover superfícies ocultas.

Exercícios relacionados