Компьютерная графика. Lab6. Создание приложения с помощью Direct3D

ЗАДАНИЕ:

Задание на работу. На основе заготовки программы, представленной в каталоге lab6d3d написать программу, в которой создается сцена с двумя вращающимися фигурами. В целом, эта работа напоминает лабораторную работу № 3. Одну из фигур вы создаете самостоятельно (так же как и в работе № 3), используя как вершинные, так и индексные буферы. Другую фигуру – с помощью функций создания mesh-объектов. Поскольку функций для создания октаэдра, додекаэдра и икосаэдра в Direct3D не существует, вместо этих фигур необходимо создать цилиндр. Вместо диска – полигон. В программу включен класс камеры для реализации движения камеры в пространстве. Необходимо хорошо понять суть его работы и объяснить на защите работы.

Вместо точечного источника света, использованного в заготовке программы, нужно создать два прожектора, как и в работе № 3. В программе должна быть возможность выбора интенсивности света прожектора. Интенсивность изменяется в диапазоне от 0 до 255 (в целых числах) или от 0.0 до 1.0 (в числах с плавающей запятой). При этом красная, синяя и зеленая составляющие цвета излучаемого света равны.

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

Выполнение:

В процессе выполнения был изменён вызов функции Direct3D по созданию чайника на вызов по создание сферы. Скопированы и интегрированы вершины с нормалями из прошлой лабораторной работы, добавлено два источника счета и текстуры.

Вывод:

Direct3D9 представляет собой хорошую библиотеку для создания трёхмерных приложений.

Скачать ZIP-архив с исходными кодами


Поделиться:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован.

*