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

столбца i в текстуре NumText.

Служит этот массив, как мы видели выше, для выделения памяти для комбинированной текстуры.

-    HeightTexture - одномерный массив из N чисел типа FixedPoint:

HeightTexture = zmalloc(N*sizeof(int *), NULL, 1);

FixedPoint - это фиксированная точка, которая от int практически не отличается и определяется:

typedef FixedPoint int;

Каждый элемент в массиве HeightTexture для конкретной текстуры представляет собой общую высоту текстуры (размер по Y), преобразованную в фиксированную точку:

HeightTexture[NumText]=INT_TO_FIXED(TexturesInfo[NumText].first.height);

Как уже говорилось выше, преобразование числа из целого в фиксированную точку' производится путем сдвига первого на 16:

# define INT_TO_FIXED(f) ((f) < 16)

Таблица HeightTexture используется в функции RenderWallRange (наложение текстуры на стены), о чем речь пойдет в 9 главе.

-    MaskOfText - одномерный массив из чисел типа int:

MaskOfText = zmalloc(N*sizeof(int *), NULL, 1 );

Каждый элемент данной таблицы является маской для выравнивания по ширине текстуры:

{

flag= 1;

while(flag*2<=TexturesInfo[NumText]. first, width)

{

flag *= 2;

}

MaskOfText[NumText] = flag-1;

}

Например, если общая ширина текстуры равна 72, то ближайшая маска для нее будет 63 (64-1). Данная таблица используется при выводе текстуры, маскируя координату X, чтобы исключить выход последней за пределы. В связи с данным обстоятельством ширина тексту ры всегда должна быть выравнена в двоичном эквиваленте. Например: .32,64,128,256 идр. значения, не превышающие 256. Если данного выравнивания не будет, то часть текстуры путем маскирования будет теряться.

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