A expressão Buffer Z designa uma técnica de reprodução que usa a informação z (profundidade) para ordenar os aspectos dos objectos.
O buffer Z é um algoritmo usado em gráficos 3D para garantir que a perspectiva funciona da mesma maneira no mundo virtual como faz no mundo verdadeiro: um objeto sólido no primeiro plano irá bloquear a vista de outro por trás dele. Tal como está presente no mundo real quando alguém se interpõe entre outra pessoa e o ecrã da televisão. O buffer Z é um tipo de algoritmo conhecido como o algoritmo Visual Surface Determination (VSD).
O buffer Z funciona através de um teste da profundidade de um pixel e compara a posição atual (coordenada z), com os dados armazenados num buffer (chamado de buffer z) que contém informações sobre a última posição de cada pixel. O pixel na posição mais perto do utilizador é o que irá ser apresentado.
Ele pode ser implementado tanto em hardware como software, e é utilizado para aumentar a eficiência de uma renderização.
Quando uma cena é renderizada, cada pixel tem as coordenadas X e Y (orientação horizontal e vertical para a câmara), bem como uma coordenada Z (profundidade ou distância da câmara). O buffer Z é uma matriz bidimensional (X e Y) que armazena o valor Z de cada pixel do ecrã. Se um outro objectivo for processado no mesmo local do pixel, o algoritmo substitui o valor anterior se o novo pixel estiver mais perto da câmara. Este algoritmo aumenta a velocidade de renderização para objetos opacos, mas os objetos transparentes não beneficiam uma vez que os objetos distantes são parcialmente visíveis, e devem ser totalmente processado.
O buffer Z é um de três algoritmos VSD vulgarmente utilizados para este fim. Os outros dois, BSP trees e depth sorting, trabalham com polígonos e, consequentemente, são menos eficazes para imagens em movimento e se sobrepõem. Uma vez que funciona no nível do pixel, o buffer z pode ser exigente em termos de memória e tempo de processamento. No entanto, a sua simulação mais complexa e realista da dinâmica de objetos do mundo real garante a sua popularidade contínua como uma ferramenta de desenvolvimento de gráficos 3D.