
- •Аннотация
- •Содержание
- •1. Задание кафедры
- •2. Постановка задачи
- •3. Математическая модель
- •4. Описание алгоритмов
- •4.1.Алгоритм разбиения сферической поверхности на примитивы
- •4.2.Алгоритм разбиения цилиндрической поверхности на примитивы
- •4.3.Алгоритм вращения камеры
- •5.1.2. Управление мышью
- •5.2. Структура по
- •5.3. Используемые технологии
- •5.3.1.Используемые функции DirectX 9
- •Vertexprocessing, &d3dpp, &d3dDevice );
- •6. Чертеж сцены
- •7. Текст программы
- •8. Контрольный пример
- •9. Библиографический список
5.1.2. Управление мышью
При нажатии правой кнопки мыши и движении мыши:
вправо – происходит поворот камеры вправо, относительно направления обзора камеры.
влево – происходит поворот камеры влево, относительно направления обзора камеры.
вверх – происходит поворот камеры вверх, относительно направления обзора камеры.
вниз – происходит поворот камеры вниз, относительно направления обзора камеры.
5.2. Структура по
Данное приложение Windows с графическим интерфейсом пользователя (GUI) в качестве точки входа имеет функцию WinMain.
WinMain вызывается операционнай системой, которая придерживается стандартных правил и от языка программирования не зависит. В функции WinMain приложение должно выполнить необходимые действия по собственной инициализации, создать и отобразить главное окно.
MainWindowProc - это функция, которая будет обрабатывать поступающие окну сообщения. Операционная система заводит для программы очередь, в которую поступают адресованные этой программе сообщения. Реакцией на сообщение прорисовки окна будет вызываться функция DrawWindowArea. При получении сообщения закрытия программы вызывается функция уничтожения окна DestroyWindow и функция PostQuitMessage.
Функция рисования окна DrawWindowArea. Функция отчищает окно и вызывает функцию InitialInput для получения команд с устройств ввода. Затем функция DrawWindowArea производит изменение положения объектов и вызовами функций DrawSphere и DrawCilindr отрисовывает объекты (сферы и цилиндры).
Функция TimerProc отвечает за таймер. Таймер поставлен на время, равное желаемому промежутку между кадрами. В теле функции TimerProc выполняются действия при срабатывании таймера. В данной программе, при каждом срабатывании таймера вызывается функция отрисовки окна DrawWindowArea.
5.3. Используемые технологии
DirectX предоставляет средства для доступа к функциям графического оборудования. При этом используется единый программный интерфейс, не зависящий от особенностей конкретных моделей видеоадаптеров. Direct3D через драйверы взаимодействует непосредственно с графическим оборудованием, что предоставляет возможности для достижения исключительно высокой производительности программ. Однако, в отличие от базовых двумерных средств графики Windows (GDI), средства Direct3D предполагают специальное назначение использующих их приложений: как правило, это игры и развлекательные мультимедиа-программы, системы трехмерного моделирования и автоматизированного проектирования и т.п.
В данной курсовой работы были использованы технологии DirectX 9.
Были использованы составляющие DirectX 9: Direct3D и DirectInput.
Direct3D – смый мощный компонент DirectX 9, отвечающий за отрисовку трехмерной графики, наложения на объект текстур, и.т.д. Самой главной составляющей DirectX3D является процесс рендеринга – визуализации трехмерного объекта на экране монитора.
Составляющие рендеринга:
1)Тесселяция – разбиение поверхности на полигоны.
2)Трансформация – преобразование координат объектов с помощью матриц.
3)Освещение – расчет освещения объектов сцены.
4) Растеризация – обрисовка сцены на экране монитора.
Этапы построения сцены в Direct3D:
1)Создание оконного приложения.
2)Инициализация Direct3D.
2)Создание объекта.
4)Освещение, материал и текстура.
5)Рендеринг объекта.