Leksykon IT › Programowanie › Span buffer

Span buffer

Programowanie Svenska → Zaktualizowano: 2026-10-27

Sposób rozwiązywania widoczności w rendererze programowym, linia po linii: każdy wielokąt jest cięty na poziome odcinki, a rysowane są tylko te naprawdę widoczne.

Zamiast testować głębię w każdym pikselu jak Z-buffer, renderer utrzymuje dla każdego wiersza posortowaną listę odcinków (spanów). Odcinki każdego nowego wielokąta są przycinane względem tych, które już tam są, a wszystko, co zasłonięte, odpada, zanim pobrany zostanie choć jeden teksel. Każdy piksel jest rysowany dokładnie raz, co na Pentium z 1996 roku oddzielało grywalność od pokazu slajdów.

Quake budował swój świat właśnie tak: lista krawędzi sortowana w odcinki na każdą linię, z drzewem BSP i PVS jako zgrubnymi filtrami wcześniej. Michael Abrash opisywał, jak wraz z Johnem Carmackiem próbowali i odrzucili kilka podejść, zanim zostali przy tym. Ruchome obiekty rysowano nadal z użyciem Z-buffera, bo odcinki dla małych, stale poruszających się obiektów kosztowały więcej, niż oszczędzały. Gdy pojawiły się karty 3D, technika zniknęła niemal z dnia na dzień.

← Wróć do leksykonu