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

Функция ProjectSpriteslnSector.

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

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

Функция DrawSegment

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

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

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

Новости
Авторы Hellblade: Senua’s Sacrifice удивлены количеству игроков на ПК
В октябре прошлого года студия Ninja Theory рассказала, что продажи Hellblade: Senua's Sacrifice оказались выше, чем ожидали сами разработчики, а уже через месяц они достигли полумиллиона копий.
Хождение по Аду в Agony отнимет у игроков 12 часов
Напомним, что Agony поступит в продажу на PC, PS4 и Xbox One 29 мая. После релиза игры авторы намерены заняться VR-режимом.