Spanbuffer
De manier waarop een softwarerenderer zichtbaarheid per scanlijn oplost: elke polygoon wordt in horizontale stroken gesneden en alleen de werkelijk zichtbare stroken worden getekend.
In plaats van per pixel de diepte te testen, zoals een Z-buffer, houdt de renderer per rij een gesorteerde lijst met spans bij. Elke nieuwe polygoon wordt met zijn spans afgekapt tegen wat er al staat, en alles wat verborgen is, gaat weg voordat er één texel is opgehaald. Elke pixel wordt precies één keer getekend, wat op een Pentium uit 1996 het verschil was tussen speelbaar en een diavoorstelling.
Quake bouwde zijn wereld zo op: een edge list gesorteerd tot spans per scanlijn, met de BSP-boom en PVS als grove filters vooraf. Michael Abrash heeft beschreven hoe hij en John Carmack meerdere aanpakken probeerden en verwierpen voordat ze hierbij uitkwamen. Bewegende entiteiten werden er alsnog met een Z-buffer overheen getekend, omdat spans voor kleine, voortdurend bewegende objecten meer kostten dan ze opleverden. Toen de 3D-kaarten kwamen, verdween de techniek bijna van de ene dag op de andere.