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

Функция ProjectSpriteslnSector.

Данная функция создает структуры для всех спрайтов и объектов, находящихся в конкретном секторе. Для исключения многократной обработки одного и того же сектора в самом начале функции ProjectSpriteslnSector осуществляется сравнение со значением Counter.

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

Функция DrawSegment

Она осу ществляет прорисовку сегмента стены для конкретного субсекгора.

Принцип действия здесь очень прост (смотрите рисунок). Сначала вычисляются значения углов между вектором зрения игрока и каждой из вершин сегмента (соответственно углы 1 и ш). Затем проверяется выход значений углов за объем просмотра и. если угол выходит за пределы угла зрения (Limit Visual Angle), то производится отсечение. После этого, с использованием вышеупомянутой таблицы PerspPosX ofAngle, вычисляются физические координаты X вершин сегмента на экране, и с данными параметрами вызывается функция прорисовки сегмента.

Исходный текст функции DrawSegment

Новости
3-й эпизод Hitman завтра станет бесплатным
Tomorrow the HITMAN: Summer Pack arrives. Giving you access to download Episode 3: Marrakesh.
Разработчики шутера GTFO показали новых врагов-теней в действии
Разработчики продемонстрировали в действии новых врагов-теней.