Войти
ПрограммированиеФорумГрафика

Как работает графика в Wolf3D/Doom? (8 стр)

Страницы: 13 4 5 6 7 8
#105
21:56, 23 авг. 2019

Как я себе представляю, уровень - набор секторов, образованных замкнутыми ломанными.
Сектора быть невыпуклыми, могут быть вложенны один в другой, но не могут пересекатся и самопересекатся. Линии не пересекаются.
Из одной вершины может выходить любое число линий
К двум сторонам любой линии прилежит 2 сектора, одинаковых, если линия не граничная - такие линии при компиляции карты отбрасываются.
Создание уровня начинается с одного пустого внешнего сектора 1
При добавлении линии, с обеих ее сторон один сектор.
Но при образовании замкнутой ломанной образуется новый сектор. При удалении линии, сектора с двух ее сторон объединяются.

Такой уровень возможно быстро отрендерить вертикальными линиями на экран, если камера смотрит горизонтально.
Для произвольной ориентации камеры возможно рендерить на грани skybox, предварительно посчитав их выпуклое пересечение с экраном и minY, maxY в каждой колонке.


Страницы: 13 4 5 6 7 8
ПрограммированиеФорумГрафика