Hoppa till innehållet

Z-buffer

Från Wikipedia

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

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).

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.