- 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:
- Bloco de aplicação e transformação geométrica: montagem de vértices, modelagem, projeção e clipping.
- Rasterização: conversão de primitivas (triângulos) em fragments (pixels candidatos).
- 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.