En Z-buffer eller Z-tabell är en tabell som används vid visning av tredimensionell datorgrafik.

Beskrivning redigera

Storleken på tabellen är lika med storleken på den aktuella bildytan, en cell i tabellen för var pixel i bildytan. Tabellens uppgift är att hålla reda på vilka punkter i den tredimensionella vyn som befinner sig närmast betraktaren. Fördelen med en sådan tabell är att de objekt grafiken består av kan renderas utan att i förhand behöva beräkna vilka objekt som skymmer de andra, (om så är fallet).

Funktion redigera

Det hela fungerar på sådant sätt att när en punkt som tillhör ett objekt skall skrivas till bilden så jämförs punktens avstånd till betraktaren med det aktuella värdet i tabellen. Om punkten befinner sig närmare betraktaren än den som finns i tabellen, vilket innebär att den skymmer den tidigare pixeln, så kommer punktens z-värde att skrivas in i tabellen och pixeln skrivas till bildytan. Om den däremot befinner sig längre bort än den tidigare pixeln så skrivs inte heller z-värdet in i tabellen. Punkten är då skymd av den tidigare pixeln och därför inte synlig och kommer därför inte heller att skrivas till bildytan. En tom Z-tabell innehåller det största möjliga avståndet som används vid det aktuella tillfället.

Tekniska detaljer redigera

Z-Tabeller är (oftast) av heltalstyp och kan ha 8 eller 16 bitars "djup". 8-bit ger snabbare hantering men sämre upplösning. Grafikkort som har stöd för 3D-rendering har vanligtvis en Z-tabell inbyggd i hårdvaran och denna brukar gå att ställa in så att den använder önskat bitdjup.