Z-buffer

Från Wikipedia
Hoppa till: navigering, sök

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

Beskrivning[redigera | redigera wikitext]

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 | redigera wikitext]

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 | redigera wikitext]

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.