Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика лабораторный практикум.doc
Скачиваний:
231
Добавлен:
01.05.2014
Размер:
1.41 Mб
Скачать

6.3. Цель, требования и рекомендации к выполнению задания

Цель выполнения задания: знакомство с требованиями, которые необходимо выполнить при выводе 3Dобъектов при построении отражений и теней на основе источников света и методов отражения с использованием библиотеки OpenG

Требования и рекомендации к выполнению задания:

- проанализировать полученное задание, выделить информационные объекты и действия;

- разработать программу с использованием требуемых операций по трехмерному представлению объектов.

6.4. Задания

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

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

1. Реализация комнаты,

1.1. Реализация комнаты, в комнате находятся геометрические предметы различных форм и свойств (кубы, параллелепипеды, шары), и протяженный источник света на потолке. Присутствует также камера с заданными параметрами (обычно она расположена так, чтобы была видна вся комната). Сцена не должна превращаться в набор разнородных предметов. Эстетичность и оригинальность выполненного задания принимается во внимание.

1.2. Реализация комнаты как в задании 1.1., но протяженный источник света на потолке комнаты необходимо эмулировать несколькими точечными источниками.

1.3. Реализация комнаты как в задании 1.1., но реалистичность сцены необходимо значительно повысить за счет разбиение многоугольников. Суть этого в том, что модели освещение OpenGL освещенность вычисляется в вершинах многоугольника с учетом направления нормалей в этих вершинах, а затем линейно интерполируется  по всей поверхности. Если используются относительно большие многоугольники, то, очевидно, невозможно получить действительно плавные переходы  и затенения. Для преодоления этого недостатка можно разбивать большие грани (стены, например) на множество меньших по размерам. Соответственно разброс в направлении нормалей в вершинах одного многоугольника не будет столь велик, и затенение станет более плавным

1.4. Реализация комнаты как в задании 1.1., но с наложением текстур на объекты сцены и присутствие в сцене теней. Один из простейших алгоритмов наложения теней приведен в разделе 6. За его реализацию можно получить до 2 баллов. Использование более продвинутых алгоритмов (например, shadow volumes) будет оценено дополнительными баллами.

1.5. Реализация комнаты как в задании 1.1., но с введением в сцену прозрачных объектов и корректный их вывод.

1.6. Реализация комнаты как в задании 1.1., но с введением в сцену зеркальной стены с мультиотражением.

2. Виртуальные часы

Целью задания является создание трехмерной интерактивной модели аналоговых часов.

Обязательные требования к программе:

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

Часы на экране обязательно должны иметь минутную и часовую стрелки. Секундная - по желанию, но очень приветствуется (иначе трудно будет определить, ходят часы или нет).

Время на часах должно совпадать с системным временем компьютера. Часы обязательно должны ходить, т.е. стрелки должны двигаться и скорость их движения не должна зависеть от производительности компьютера, а определяться только текущим временем.

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

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

2.2. Введение возможностей для управления процессом визуализации. Например, наличие/отсутствие текстур, режимы заливки, детализации и т.д.

2.3. Использование максимум возможностей OpenGL - блики, отражения, спецэффекты.

3. Интерактивный ландшафт

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

Соседние файлы в предмете Компьютерная Графика