О курсе |
Лекции |
Практикум |
FAQs |
Оценки |
Глоссарий |
Литература |
OpenGL-1 (Cornell Box) |
Начало: 4 апреля 2000 года.
Конец: 18 апреля 2000 года. Автор задания: Игнатенко
Алексей
Цель задания
Целью задания является создание изображения заданной трехмерной статичной сцены средствами OpenGL с использованием, возможно, стандартных геометрических примитивов. Описание задания Требуется создать изображение сцены Cornell Box. Сцена представляет
из себя комнату кубического вида, с отсутствующей передней стенкой. В комнате
находятся геометрические предметы различных форм и свойств, и источник
света. Присутствует также камера с заданными параметрами. На рисунке показан
один из вариантов предлагаемой сцены. ( картинка получена методом излучательности)
Описание геометрии можно найти здесь Реализации этой сцены достаточно для выполнения задания, хотя возможно введение новых предметов дополнительно к существующим или вместо них. Приветствуется использование примитивов библиотек GLUT и GLU. Внимание! Сцена не должна превращаться в набор разнородных предметов. Эстетичность и оригинальность выполненного задания принимается во внимание. Протяженный источник света на потолке комнаты можно эмулировать несколькими точечными источниками. За простейшую реализацию сцены ставится 7 баллов. Ниже приведены возможности, за реализацию которых можно получить дополнительные баллы. Реалистичность сцены можно значительно повысить за счет разбиение полигонов. Суть этого в том, что модели освещение OpenGL освещенность вычисляется в вершинах полигона с учетом направления нормалей в этих вершинах, а затем линейно интерполируется по всех поверхности. Если используются большие полигоны, то, очевидно, невозможно получить действительно плавные переходы и затенения. Для преодоления этого недостатка можно разбивать большие грани ( стены, например) на множество более малых по размерам. Соответственно разброс в направлении нормалей в вершинах одного полигона не будет столь велик и затенение станет более плавным. (1 балл) Наложение текстур на объекты сцены поощряется 2-мя баллами. Дополнительными баллами оценивается присутствие в сцене теней. Один из простейших алгоритмов наложения теней приведен в учебном пособии (см. ниже). За его реализацию можно получить от 2 баллов. Использование более продвинутых алгоритмов ( в т.ч. shadow volumes) будет оценено дополнительными баллами. Реализация устранения ступенчатости ( antialiasing ) методом, предложенным в пособии или каким-либо другим оценивается в 2 балла. За введение в сцену прозрачных объектов и корректный их вывод дается 1 балл. Механизм работы с прозрачным объектами описан в учебном пособии. Материалы для выполнения задания Для изучения возможностей OpenGL предлагаются следующие материалы
Базисная библиотека
Библиотека GLU
Библиотека GLUT
Библиотека GLAUX
Все файлы.
Оценка Задание оценивается, исходя из 15 баллов. В нижеследующей таблице указано распределение баллов в зависимости от
реализованных требований:
Дополнительные баллы можно получить за хорошую оптимизацию рендеринга, необычные решения, эстетичность и т.д. Оформление задания Оформление задания ничем не отличается от предыдущих ( см. FAQ)
Примечание: нет необходимости присылать файлы glut32.dll, glu32.dll и opengl32.dll Пример Здесь можно скачать примерный вариант работы (10Kb). Такая программа оценивается 10 баллами. ( Внимание! Нет необходимости делать интерактивную программу, но создание таких программ поощряется дополнительными баллами.) Результаты работы Работа высылается по адресу assign5@graphics.cs.msu.su
Все ваши вопросы вопросы по заданию и/или по OpenGL можно
задать Игнатенко Алексею по электронной
почте или лично ( понедельник после 3-й пары или четверг, после 2-й
пары - 77 (703) аудитория).
|
На главную |
Наверх |
Hosted by Graphics & Media Lab
http://graphics.cs.msu.su |
Поддержка и дизайн: Алексей Игнатенко |