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

# define Angle(a) ((a) * MAXDEGREES/360)

Инициализацию таблиц синусов и косинусов можно представить так:

В этой функции быстродействие не важно, т.к. она вызывается только один раз при старте программы. Следовательно, никто не мешает вам использовать здесь “плавающую” арифметик)'.

3. Желательно, чтобы количество передаваемых параметров при вызове функции не превышало 4 (3).

При работе на WATCOM C/C++, с использованием регистровой передачи параметров (ключи компилятора: /Зг - для 386 процессора; /4г - для 486 процессора; /5т - для PENTIUM’a), первые четыре параметра в функцию передаются в регистрах процессора, а остальные через стек. Прн этом в регистре еах передается первый параметр; в edx - второй; в ebx - третий; в есх - четвертый.

Как вы, знаете, регистровая передача параметров работает намного быстрее. Кроме того, если вызываемая функция написана на ассемблере, то использование в ней параметров, передача которых осуществлялась через стек, связано с определенными трудностями, заключающимися в локализации этих переменных внутри стека (нахождение смещения внутри стека с учетом того,

a)    4 байта вычитается из стека при вызове функции near;

b)    сохранение регистров в стеке. На каждый 32-разрядный регистр из стека так же вычитается 4 байта).

Если вы работаете на СРР и используете классы, то желательно, чтобы количество параметров передаваемых в функцию не превышало 3, т.к первым параметром в функцию (в регистре ЕАХ) передается указатель на класс.

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