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

NuniTexturesLump - массив из N указателей на тип short. Один из таких указателей указывает на номера картинок (которые мы рассматривали в PNAMES) в файле ресурсов в зависимости от координаты X внутри текстуры, т.е. в зависимости от номера столбца текстуры. Эта таблица напрямую связана с методом вывода текстуры на экран: развертка не по горизонтали, а по вертикали. Для текстуры п можно записать:

Если окажется, что один и тот же столбец принадлежит больше чем одной текстуре, то в таблицу NumTexturesLump по адресу данного столбца записывается -1. Например, если в текстуре BIGDOOR1 (смотрите выше) картинки W131 начинаются с нулевой координаты по X (смещение по Y значения не имеет), то в таблицу' NumTexturesLump по смещению 0 для данной текстуры записывается -1.

А теперь попытаемся объяснить, зачем используется такой подход. Как уже говорилось выше, тексту ры в DOOM’e выводятся вертикально, столбец за столбцом. Каждый раз при выводе очередного столбца программа проверяет таблицу NumTexturesLump по текущей координате X. Если значение больше О, то теку щий столбец состоит из одной текстуры и данное значение указывает на номер данной текстуры в каталоге файла ресурсов. В этом случае текстура просто загружается с диска. Если же значение меньше 0, то это говорит о том, что данный столбец состоит из нескольких текстур. Прн этом вызывается функция, которая во временной памяти создает образ данного столбца, состоящего из нескольких текстур, путем загрузки всех текстур, определенных в txdefMore по текущей координате X. После обработки текущего столбца временная память за ненадобностью освобождается.

- OffsetTextureColumn - двумерный массив на тип short. Память для него выделяется:

Как и в предыдущем случае, OffsetTextureColumn - это массив из N указателей на тип short. Один из таких указателей указывает на смещения относительно начала текстуры, указывающие на начало графических данных для конкретного столбца. Эта таблица используется для быстрой установки указателя на адрес графических данных при выводе текстуры. Например, если мы хотим вывести текстуру начиная с координат X и Y, то адрес данной текстуры будет рассчитываться как:

Новости
Сценарист Uncharted рассказала о проблемах одиночных игр
Над игрой работала Эми Хенниг, сценарист серий Uncharted и Legacy of Kain.
Готовится выход дополнения «Апокалипсис» для Battlefield 1
Компания Electronic Arts, которая занимается изданием компьютерных игр, и студия-разработчик DICE готовят выход дополнения «Апокалипсис» для игрового проекта Battlefield 1. В дополненной версии появится пять новых карт.