В строках 4-9 листинга 9.2 функция Gamelnitialization () подготавливает матрицу отображения. В строках 13-16 подготавливается матрица проецирования. Поскольку позиция наблюдения и перспектива не изменяются от кадра к кадру, их не нужно пересчитывать, как это обычно происходит в примерах программ, поставляемых с SDK DirectX. В нашем примере матрицы отображения и проецирования создаются только один раз и после этого не изменяются.
В строке 19 листинга 9.2 функция Gamelnitialization () загружает сетчатую модель, которая должна использоваться данным твердым телом. Это сетчатая модель тигра из SDK DirectX.
Инициализация объекта класса d3d_rigid_body начинается в строке 21. В строках 21-24 задаются вращательные характеристики тигра. Вероятно, вас интересует, откуда взяты значения вращательной инерции в строке 23. Они more…
Tag-Archive for » МАСШТАБИРОВАНИЕ «
Масштабирование увеличивает или уменьшает расстояния между точками, но оно должно работать относительно некоторого центра. Представьте себе расширяющуюся сферу. Точки на краю этой сферы двигаются быстро, точки, более близкие к центру, двигаются медленнее. Точка в центре сферы совершенно неподвижна. Эта точка называется центром расширения или точкой расширения (expansion point).
Точно так же, как можно поворачивать объект вокруг произвольной точки, объект можно и масштабировать вокруг произвольной точки. Это выполняется так же, как и поворот.
Сначала точка расширения перемещается в начало координат. Затем выполняется масштабирование. После этого точка расширения перемещается в исходную позицию. Эта последовательность операций выражается такой формулой:2Р-преобразования и рендеринг_107
Сочетание преобразований more…
