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

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

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

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

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

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

Функция lnit_DrawSegs.

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

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

Новости
Sony PlayStation 5 стала последней игровой консолью в мире
Игровые консоли присутствуют в мире уже более 30 лет, за которые в них успели поиграть целые поколения игроков, то есть отцы, дети и их внуки.
Авторы новой Call of Duty объявили даты проведения бета-теста
Студия Treyarch официально озвучила даты проведения бета-тестов мультиплеерного режима ожидаемого военного шутера Call of Duty: Black Ops 4. Разработчики уже раскрыли немало особенностей соревновательной части игры, но многое остаётся за завесой тайны.