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

В данной, очень несложной, функции единственный вопрос, который у вас может возникнуть - зачем смещение в текстуре и коэффициент масштабирования текстуры сдвигаются влево на 9. Эго сделано для зацикливания текстуры. Поясню, в чем дело. Смещение в текстуре и коэффициент масштабирования имеют формат с фиксированной точкой (целых чисел здесь быть не может, иначе масштабирование будет невозможно). При этом нас интересует в конечном итоге только целая часть (16 старших бит). Теперь мы данное значение с фиксированной точкой сдвинем влево на 9. При этом, фактически, мы получаем 7 бит целой части и 25 бит (32-7) дробной части. Теперь осталось сообщить, что все текстуры имеют размер по вертикали -128. Ну!... Улавливаете, в чем дело? Дело в том, что 7-битным двоичным числом можно представить числа в диапазоне от 0 до 127.

Допустим, коэффициент масштабирования у нас при выводе текстуры равен 3, а текущее смещение в текстуре равно 126. Таким образом, следующее смещение будет равно 1 (если к 126 прибавить 3, то получим 129. При переполнении 7-битного числа получается 1).

Вы, конечно, можете возразить: зачем сдвигать, если можно использовать операцию маскирования с константой (для фиксированного числа - со значением 0х7ШЕГ; для целого числа - со значением 0x7f). А теперь подумаем о скорости. Данная функция неслучайно написана на ассемблере. Она очень критична по времени исполнения, и нам совершенно ии к чему использовать

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