Хонич А.
Как самому создать трехмерную игру
стр. 243

Здесь sg - это указатель на сегмент стены.

Фу нкция dir возвращает бинарный угол между вектором, который соединяет позицию игрока и вершину, координаты которой передаются в функцию dir двумя параметрами в системе реальных двумерных координат автоматической карты.

В самой технике удаления скрытых поверхностей участвует таблица AlreadyOnScreenWallPosX. Ее назначение напрямую вытекает из названия таблицы. Эта таблица представляет собой список горизонтальных физических координат сегментов, которые уже были выведены. Исходя из принципов узловой структуры, описанной в разделе 7.7., первыми прорисовываются сегменты, которые относятся непосредственно к тому субсектору, “внутри” которого находится собственно сам игрок. При прорисовке сегментов данного субсектора координаты вершин стен запоминаются в таблице AlreadyOnScreen WallPosX. Далее, если необходимо, прорисовываются субсекгора, которые должны быть видны из предыду щего субсекгора. Очевидно, что часть сегментов текущего субсекгора будет скрыта сегментами предыдущего субсектора (который выводился на экран ранее). Данное маскирование сегментов осуществляется с помощью таблицы AlreadyOnScreen WallPosX путем несложного сравнения.

Вот и все, что я хотел сказать о данной таблице. Фу нкция InitTableWallPosX инициализирует ее начальными значениями, которые определяют, что в настоящее время экран пуст и никакое маскирование поверхностей не требуется.

Исходный текст функции InitTable WallPosX:

Функция lnit_DrawSegs.

В процессе прорисовки сегментов заполняется таблица DrawSegs. Она представляет собой 128 структур wall (128 - это максимально возможное количество сегментов, одновременно видимых на экране). Данная таблица в основном используется дтя прорисовки объектов и спрайтов для осуществления битового отсечения. Функция InitDrawSegs инициализирует данную таблицу путем установки указателя DrawSegsOffset на начало таблицы.

Исходный текст функции Init DrawSegs:

Новости
Descent выпустит релиз игры Overload в мае
Авторы Descent озвучили дату ожидаемого релиза Overload, по заявлению авторов игрового продукта, новинка выйдет весной текущего года.
Разработчики PUBG удалят шлем третьего уровня с карты
Компания удалит с карты шлемы третьего уровня и переработает баланс оружия, чтобы пользователи выбирали более разнообразный арсенал.