Новости
Высшая математика
В научных кругах принято считать, что в рамки высшей математики входят такие дисциплины, как анал...
Нобелевские лауреаты
Нобелевская премия учреждена шведским химиком Альфредом Нобелем в 1895г. Впервые она была вручена ...
Электронная библиотека
На первых порах обсуждения проблематики электронных материалов основное внимание было сосредоточен...
Стерео и видео Стереоизображение
Под стереоизображением понимают получение такого изображения, которое давало бы ощущение протяжен...
Сонник
Сон — это естественный физиологический процесс, который занимает 1/3 жизни человека. Все люди во ...
Синергетика
Синергетика — это междисциплинарный подход исследования, большой вклад в изучение которого, начина...
Авторизация

Пользователь

Пароль

Запомнить



Забыли пароль? Ещё не зарегистрированы? Регистрация

Поиск

Главная arrow Статьи arrow Компьютеры
Компьютеры
Анимирование с использованием временных меток

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


Считывание времени в Windows

Самым простым способом считывания времени в Windows является использование функции timeGetTime. Эта функции не имеет параметров. Как показывает следующий код, timeGetTime просто возвращает количество миллисекунд, прошедших с момента запуска Windows.


Синхронизация анимации и движения DirectX

Игры наполнены движением. Здесь бегают персонажи, там летают пули, зачастую существует множество объектов, перемещающихся по игровому миру. Очень важным аспектом, который нельзя проигнорировать, является плавное движение всех этих объектов. Вы никогда не думали использовать анимацию и движение, основанные на времени? Использование движения, основанного на времени, ново, и, чтобы не отставать от остального мира, вы должны уяснить, что оно может помочь вам в ваших игровых проектах. На самом деле вам необходимо не просто понять, как использовать движение, основанное на времени, а что такое движение вообще. Вы думаете, только персонажи перемещаются в вашей игре? Нет, игровые кинематографические камеры также нуждаются в вашем управлении. В этой главе рассмотрено использование движения, основанного на времени, в ваших проектах.


Визуализация меша DirectX

После того как вы загрузили меш и обновили те скелетные меши, которые этого

требовали, пришло время поместить пиксели на экран и наконец-то показать эти меши! Всего я создал четыре функции визуализации меша, и с помощью их я отрисовываю меш в книге.


Обновление скелетных мешей

Скелетный меш работает так: каждая вершина присоединена к воображаемой кости (которая задана объектом-фреймом). По мере того как двигаются эти фреймы, присоединенные к ним вершины тоже двигаются. Чтобы обновить координаты вершин после движения костей, необходимо вызвать специальную функцию, которая преобразует данные вершин в соответствии с преобразованием костей и сохраняет результат работы в другом меш-обьекте . Эта специальная функция называется ID3DXSkinInfo::UpdateSkinnedMesh.


Загрузка мешей

Первая из вспомогательных функций, посвященная мешам, - LoadMesh. На самом деле существует три версии функции LoadMesh. Первая версия используется для загрузки мешей из файла .X с помощью функции D3DXLoadMeshFromX. Это значит, что все меши, находящиеся в файле, объединяются в один меш-обьект, который впоследствии хранится в D3DXMESHCONTAINER_EX.


Загрузка вершинных шейдеров DirectX

Изучая список вспомогательных функций, вы обнаружите LoadVertexShader. Для всех примеров использования вершинных шейдеров в этой книге вы будете пользоваться этой функцией для загрузки ваших вершинных шейдеров и для подготовки объявлений ваших вершинных шейдеров.


Инициализация Direct3D

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


Проверка вспомогательных функций DirectX

Вспомогательные функции, которые я решил сделать для этой книги, немногочисленны, но они представляют собой основной код, который вы будете использовать в своих проектах. Эти функции предназначены для освобождения интерфейсов COМ, инициализации Direct3D, загрузки мешей и вершинных шейдеров, обновления скелетных мешей, визуализации мешей, используя стандартные методы и вершинные шейдеры.


Расширение D3DXFRAME

Сам по себе объект D3DXFRAME очень полезен, но, к сожалению, он имеет некоторые недостатки, такие как отсутствие данных для преобразований при анимации

меша, функций обрабатывающих данные анимации, конструктора и деструктора.


Использование вспомогательных объектов в DirectX

Как я ранее замечал, я создал набор объектов, которые расширяют функциональность D3DXFRAME и D3DXMESHCONTAINER, которые являются частью библиотеки D3DX. Если вы незнакомы с этими объектами, позвольте мне дать их небольшой обзор.


  1. Установка используемого по умолчанию состояния символа
  2. Привязывание к библиотекам DirectX
  3. Установка директорий DirectX SDK
<< [Первая] < [Предыдущая] 1 2 3 4 5 6 7 8 9 [Следующая] > [Последняя] >>

Результаты 99 - 112 из 114



Высшая математика
В научных кругах принято считать, что в рамки высшей математики входят такие дисциплины, как аналитическая геометрия, математическая статистика, высшая и линейная алгебра, теория множеств, дифферен...

Нобелевские лауреаты
Нобелевская премия учреждена шведским химиком Альфредом Нобелем в 1895г. Впервые она была вручена в 1901г за достижения в области литературы, химии, медицины и физики. Нобелевская премия присуждаетс...

Электронная библиотека
На первых порах обсуждения проблематики электронных материалов основное внимание было сосредоточено на таких вопросах как защита цифровой информации и необходимый объем материалов, условия их сортир...
 

 
0.8284