Span buffer
Способ программного рендерера решать видимость по одной строке развёртки: каждый полигон режется на горизонтальные отрезки, и рисуются только по-настоящему видимые.
Вместо проверки глубины в каждом пикселе, как в Z-буфере, рендерер хранит для каждой строки отсортированный список отрезков (спанов). Спаны нового полигона обрезаются по уже имеющимся, а скрытое отбрасывается до того, как выбрана хоть одна текстурная точка. Каждый пиксель рисуется ровно один раз, что на Pentium 1996 года отделяло играбельность от слайд-шоу.
Мир Quake строился именно так: список рёбер, отсортированный в спаны по строкам, а BSP-дерево и PVS служили грубыми фильтрами заранее. Майкл Абраш рассказывал, как они с Джоном Кармаком перепробовали и отвергли несколько подходов, прежде чем остановиться на этом. Движущиеся сущности всё равно рисовались поверх через Z-буфер: спаны для мелких постоянно перемещающихся объектов обходились дороже, чем экономили. Когда появились 3D-ускорители, техника исчезла почти мгновенно.