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

Функция lnitTable_WallPosX.

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

В DOOM’e техника удаления скрытых поверхностей вытекает из самого принципа BSP, который мы рассмотрели в разделе 7.7. Но это далеко не все. Существует таблица, которая представляет собой зависимость физической координаты X на экране от угла между направлением зрения игрока и позицией одной из вершин стены. Эта таблица имеет название PerspPosX ofAngle.

Рассмотрим короткую строку:

Здесь ang - угол между направлением зрения игрока и позицией вершины стены. А теперь разберемся, зачем к значению угла мы прибавили величину' 0x40000000. Вспомним, что бинарный угол 0x40000000 соответствует углу в 90 градусов. Но поле зрения любого человека не может охватить вселенную в большем диапазоне, чем от -90 градусов (крайнее левое направление) до +90 граду сов (крайнее правое направление). В DOOM’e для полного экрана дипазон зрения игрока находится в пределах от -90 градусов до +90 градусов Таким образом, к значению угла ang мы прибавляем 90 градусов, чтобы сократить данную таблицу путем исключения значений углов, лежащих за пределами 90 градусов (не требуется учитывать отрицательные значения углов) . В таком случае данная таблица учитывает значения углов в пределах от 0 до 180 градусов, что более чем достаточно.

X в данной строке представляет собой физическую коордииинату X на экране.

Угол ang можно рассчитать так:

Новости
Авторы проекта «1917» выпустили онлайн-игру об истории СССР
Разработчики рассказали о том, что пользователи их игры смогут принять участие в главных исторических событиях советского периода.
В God of War не будет сезонного пропуска
Креативный директор студии SIE Santa Monica Studio Кори Барлог заявил, что в новой части God of War не будет сезонного пропуска.