Начало: 18 апреля 2000 года.
Конец: 10 мая 2000 года.
Цель задания
Целью задания является создание трехмерной интерактивной модели
аналоговых часов.
Описание задания
Обязательные требования к программе:
-
Программа должна демонстрировать на экране трехмерную модель часов. Часы
могут быть любые, от наручных до кремлевских. Проявите в полной мере Вашу
фантазию и чувство меры! Постарайтесь сделать как можно более реалистичную
сцену. Поощряется подробная детализация элементов часов.
-
Часы на экране обязательно должны иметь минутную и часовую стрелки. Секундная
- по желанию, но очень приветствуется (иначе трудно будет определить, ходят
часы или нет).
-
Время на часах должно совпадать с системным временем компьютера. Часы обязательно
должны ходить, т.е. стрелки должны двигаться и скорость их движения не
должна зависеть от производительности компьютера, а определяться только
текущим временем.
-
Сцена должна быть интерактивной, т.е. давать приемлемую частоту кадров
при рендеринге. Ориентируйтесь на Pentium III Xeon 500Mhz . Графический
акселератор - Diamond Fire GL1. Т.е. если даже на такой машине
проверяемая программа будет откровенно "притормаживать" - баллы будут существенно
снижены.
-
Необходимо реализовать возможность вращения часов ( или, возможно, камеры)
с помощью мыши (предпочтительно) или клавиатуры. Возможно также предусмотреть
режимы с автоматическим вращением.
Пожелания к программе:
-
Поощряется введение дополнительной геометрии. Например, ремешков, маятников
и т.д. Можно сделать часы с кукушкой, будильник и т.п.
-
Желательно наличие возможностей для управления процессом рендеринга. Например,
наличие/отсутствие текстур, режимы заливки, детализации и т.д.
-
Приветствуется выполнение задания в виде демонстрации, т.е. c возможностью
работы в полноэкранном режиме и немедленным выходом по клавише Escape.
Можно написать программу как Screen Saver.
-
Постарайтесь использовать максимум возможностей OpenGL. Блики, отражения,
спецэффекты - за все это обязательно даются дополнительные баллы.
-
Проявите вкус - сделайте так, чтобы нравилось прежде всего Вам. Но не увлекайтесь
- оставайтесь реалистами.
Материалы для выполнения задания
См. предыдущее задание.
Оценка
Максимальная оценка - 20 баллов. За минимальную реализацию
требований ставиться 10 баллов. Еще до 10 баллов можно получить за использование
в работе возможностей OpenGL ( текстур, прозрачности , environment mapping
и пр.), оригинальных и продвинутых алгоритмов, количество настроек, а также
за эстетичность и красоту сцены.
Оформление задания
Оформление задания ничем не отличается от предыдущих ( см. FAQ).
В файле readme.txt указывайте, что конкретно было реализовано.
Пример
Здесь можно посмотреть демонстрационную программу
со множеством полезных опций ( запустите сначала программу makeshort.exe
- она создаст ярлыки для запуска программы с различными параметрами). Можно
сказать, что в ней сделано то, к чему необходимо стремиться при реализации
данного задания.
Результаты работы
Работа высылается по адресу assign6@graphics.cs.msu.su
Все ваши вопросы по заданию и/или по OpenGL можно
задать Игнатенко Алексею по электронной
почте или лично (понедельник после 3-й пары; четверг, после 2-й пары
- 77 (703) аудитория).
Вариант для печати |