Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программа спецкурсов кафедры ФТИ.doc
Скачиваний:
8
Добавлен:
06.06.2015
Размер:
593.92 Кб
Скачать

Программа практических занятий(32 ч.)

Канд. физ.-мат. наук, старший преподаватель Тагир Фаридович Валеев

Задания

Задание № 1

Лучевая трассировка

Разработать программу в среде VisualStudioна языкеC++, реализующую алгоритм рекурсивной лучевой трассировки для визуализации пространственных сцен. Выполняется в 3 этапа, за каждый выставляется отдельная оценка:

  1. Разработать библиотеку функций, вычисляющих пересечение луча со сферой, с боксом, с плоским выпуклым многоугольником в пространстве. Разработать функции, вычисляющие: нормальный вектор к примитиву в указанной точке, отраженный вектор, преломленный вектор. Для тестирования предлагается унифицированный формат файла. Разработка – 4 часа.

  2. Программа выбора ракурса. Создается простая сцена, состоящая из 1-3 примитивов. Минимальный набор примитивов: плоскость, куб, сфера. Вычисляется габаритный бокс сцены. Пользователь при помощи мыши осуществляет повороты и перемещения бокса для достижения требуемого ракурса. Разработка – 4 часа.

  3. Разработать программу лучевой трассировки на основе программы, выполненной на этапе 1, и библиотеки функций, выполненной на этапе2. Характеристики программы: а) возможен выбор ракурса изображения сцены в интерактивном режиме (см. этап 1), разрешение изображения определяется клиентской областью окна приложения; б) чтение описания сцены из файла (унифицированный формат); в) все действия выполняются с использованием библиотеки функций, разработанных на этапе 2; г) регулируется глубина дерева трассировки (от одного до трех отражений); д) один из объектов сцены должен быть в движении – имитация смазывания изображения; е) включение/ выключение гамма-коррекции. Разработка – 8 часов.

Задание № 2

Динамическое приложение SmogDX

Разработать динамическое приложение, используя систему классов SmogDXв средеVisualStudioна языкеC++. Разработать собственный геометрический класс. Разработать сценарий анимационного приложения. Запрограммировать геометрические элементы и анимацию элементов сцены. Источники освещения. Применить текстурирование объектов сцены, применить 2-3 материала, использовать 1-2 тени, использовать указание на изображение трехмерного объекта. Разработка – 8 часов.

Задание № 3

Динамическое приложение OpenGL

Разработать несложное динамическое приложение, используя библиотеку OpenGLв средеVisualStudioна языкеC++. Программа должна основываться на иерархическом построении объектов, использовать текстуры, дисплейные списки и стеки координатных преобразований. Разработка – 6 часов.

Задание № 4

Пиксельный и вершинный шейдер

Разработать несложный шейдер и встроить его в приложение на DirectX в среде VisualStudioна языкеC++. Разработка – 4 часа.

Оценка на дифференцированном зачете по курсу "Динамическая 3D графика" с учетом:

  • оценок от 0 до 5 за задания в течение семестра;

  • посещаемости лекций;

  • устного зачёта (ответ на вопросы по теории).

При проверке программ на всех этапах существенными будут следующие факторы:

  • Своевременность сдачи программ. Все программы сдаются по электронной почте по установленным в курсе правилам. Например, неверная тема письма считается грубейшей ошибкой. Временем предъявления программы считается время отправки письма. Крайний срок сдачи всегда указан в задании. После сдачи допускается досдавать задачу в течение одной недели, но максимальная оценка снижается с 5 до 3.

  • Полнота, недвусмысленность и краткость описания особенностей авторской реализации.

  • Полнота учета требований к программе.

  • Реализация дополнительных эффектов сверх требований.