Z-buffer
Para que se possa realizar a representação precisa e realista de um modelo tridimensional complexo, numa cena contendo vários objectos diferentes, é necessário que aquelas superfícies normalmente invisíveis de um determinado ângulo ou ponto no mundo sejam também renderizadas invisíveis no computador. Este problema é normalmente chamado de problema de superfície visível (visible-surface problem), quando o objetivo é determinar quais superfícies de um objecto são visíveis de um determinado ângulo, ou problema de superfície oculta (hidden-surface problem), quando o objectivo é determinar quais superfícies estão invisíveis neste momento.
Foi um problema fundamental abordado pela pesquisa em Computação Gráfica durante muito tempo. Para ilustrar o que são os efeitos desejados de um método dessa família de algoritmos, basta observar os dois desenhos abaixo mostrando a mesma estrutura, uma em modelo de arame e outra em modelo de sólidos/superfícies. A figura da direita fornece de imediato muito mais informação sobre as posições relativas dos objectos na cena do que o modelo de arame da esquerda.
De todos os algoritmos para determinação de superfície visível, o buffer de profundidade ou ZBuffer é talvez o método mais simples e com certeza o mais amplamente utilizado.
O Princípio de Funcionamento
O princípio de funcionamento do algoritmo é muito simples: Para todos os pixéis na Viewport, mantêm-se um registo da profundidade (em termos de coordenada z) do objecto na cena em que estiver mais próximo, para além de um registo da intensidade, cor, etc, que deveria ser utilizada ao mostrar esse ponto em particular na tela do computador. Todas as vezes que um novo polígono é