Lessico IT › Programmazione › Span buffer

Span buffer

Programmazione Svenska → Aggiornato: 2026-10-27

Il modo in cui un renderer software risolve la visibilità una scanline alla volta: ogni poligono viene tagliato in tratti orizzontali e si disegnano solo quelli effettivamente visibili.

Invece di verificare la profondità a ogni pixel come fa uno Z-buffer, il renderer mantiene per ogni riga una lista ordinata di span. Gli span di ogni nuovo poligono vengono ritagliati rispetto a quelli già presenti, e tutto ciò che è nascosto viene scartato prima ancora di leggere un solo texel. Ogni pixel viene disegnato esattamente una volta, il che su un Pentium del 1996 faceva la differenza tra un gioco giocabile e una presentazione di diapositive.

Quake costruiva il proprio mondo così: una lista di spigoli ordinata in span per ogni scanline, con l'albero BSP e il PVS come filtri grossolani a monte. Michael Abrash ha raccontato come lui e John Carmack abbiano provato e scartato diversi approcci prima di fermarsi su questo. Le entità in movimento venivano comunque disegnate con uno Z-buffer sopra, perché gli span per oggetti piccoli e in continuo movimento costavano più di quanto facessero risparmiare. Con l'arrivo delle schede 3D la tecnica scomparve quasi da un giorno all'altro.

← Torna al lessico