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

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

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

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

Новости
Sony представила новую PlayStation 4 Pro, и все уже хотят ее купить
Сегодня, 20 июля 2018 года, японская корпорация официально представила публике новую модель PS4 Pro, и все уже хотят ее купить, потому как она выглядит очень красиво.
Недавний патч World of Warcraft практически сломал игру
Вскоре после установки патча 8.0 сабреддит World of Warcraft оказался доверху заполнен гневными постами игроков, которые делились встреченным ими багами и обнаруженными проблемами - их оказалось невероятно много.