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

Функция прорисовки сегмента вызывается только в том случае, если хотя-бы малая часть сегмента попадает в область обзора. Для проверки граничных условий используется глобальная переменная LimitVisualAngle, которая определяет максимальный угол для границы объема просмотра, и зависит от размера объема просмотра, т.е. от размера экрана (изменяется клавишами ‘+’ и Угол обзора сегмента п - это угол, противолежащий стороне сегмента. Если угол одной из вершин сегмента относительно вектора просмотра игрока превышает по абсолютному значению граничный угол LimitVisualAngle, то данная вершина должна отсекаться. Прорисовка сегментов стен осуществляется одной из двух функций:

-    DrawMonolitWall - для монолитных (цельных стен);

-    DrawOtherWall - для других случаев.

Отличаются эти две функции прежде всего принципом организации алгоритма удаления скрытых поверхностей. В функции DrawMonolitWall прорисовывается сегмент стены, который может представлять препятствие для других, выводимых позднее сегментов. Это цельные, монолитные стены. Функция DrawOtherWall выводит чаще всего сегменты стен, имеющих нижние и/или верхние текстуры, т.е. представляют собой определенное взаимное повышение/понижение уровня полов/потолков соседних секторов. С конструктивной стороны эти две функции отличаются тем, что функция DrawMonolitWall обновляет таблицу AlreadyOnScreenWallPosX и сдвигает указатель на эту таблицу OffsPrqjAlreadyX, а функция DrawOtherWall таблицу не обновляет, а просто использует ее.

Для примера рассмотрим работу функции DrawOtherWall.

Новости
В 2018 году выйдет игра о затонувшей подлодке «Курск»
Польская студия Jujubee после двух лет работы над компьютерной игрой о гибели подводной лодки «Курск», затонувшей в 2000 году, объявила, что завершит проект в 2018 году.
Подтвердились слухи о разработке Resident Evil 2 Remake
Сотрудники компании Capcom тоже активно подливали масла в огонь, заявляя о том, что ремастеринг уже находится в разработке и скоро увидит свет.