2.5D Renderer

Stage 3: Binary Space Partition

Разные высоты секторов: решение

Для портального сегмента построим две вертикальные проекции — со стороны frontSector и backSector. Их разница определяет, какие части границы действительно являются стеной.

Если различаются потолки, рисуется верхняя стенка; если полы — нижняя; если различаются оба уровня — обе части. Оставшийся промежуток считается открытым порталом и используется для обновления вертикальных границ видимости.

2.5D Renderer

2D Renderer

Управление камерой WASD и ZX