Главная страница
Навигация по странице:

  • 20 баллов Разбиение полигонов +1 балл

  • +2 балла Использование прозрачных объектов +1 балл

  • Материалы задания взяты с сайта

  • Самостоятельная работа 1 Задание для тех студентов, кто не может ходить на занятия и выполняет работы самостоятельно


    Скачать 30.79 Kb.
    НазваниеСамостоятельная работа 1 Задание для тех студентов, кто не может ходить на занятия и выполняет работы самостоятельно
    Дата26.03.2023
    Размер30.79 Kb.
    Формат файлаdocx
    Имя файлаSam 1.docx
    ТипСамостоятельная работа
    #1016606

    Самостоятельная работа №1

    Задание для тех студентов, кто не может ходить на занятия и выполняет работы самостоятельно (минимальное количество баллов – 20; максимальное 35)

    Цель задания

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

    Описание задания

    Требуется создать изображение сцены Cornell Box. Сцена представляет из себя комнату кубического вида, с отсутствующей передней стенкой. В комнате находятся геометрические предметы различных форм и свойств, и источник света. Присутствует также камера с заданными параметрами. На рисунке показан один из вариантов предлагаемой сцены. (картинка получена методом «излучательности»).



    Описание геометрии можно найти в файле «Параметры геометрии».

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

    Внимание! Сцена не должна превращаться в набор разнородных предметов. Эстетичность и оригинальность выполненного задания принимается во внимание.

    Протяженный источник света на потолке комнаты можно эмулировать несколькими точечными источниками.

    За простейшую реализацию сцены ставится 20 баллов.

    Ниже приведены возможности, за реализацию которых можно получить дополнительные баллы.

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

    Наложение текстур на объекты сцены поощряется 2-мя баллами.

    Дополнительными баллами оценивается присутствие в сцене теней. За реализацию алгоритма наложения теней можно получить от 2 до 4 баллов.

    Реализация устранения ступенчатости (antialiasing) оценивается в 2 балла.

    За введение в сцену прозрачных объектов и корректный их вывод дается 1 балл.

    Материалы для выполнения задания

    Для изучения возможностей OpenGL предлагаются следующие материалы

    • Обучающая программа для изучение свойств команд OpenGL 

    • Простые примеры, использующие OpenGL. 

    • Дополнительные очень полезные материалы и ссылки. 

      • Чтотакое OpenGL? Miguel Angel Sepulveda, LinuxFocus. 

      • Учебные курсы по OpenGL. 

      • Учебные материалы Университета Торонто 

      • Visual Introduction in OpenGL, Siggraph'98 (pdf, 1.7Mb). 

      • Справочник по OpenGL, GLU (HTML, online). 

      • Справочник по GLUT (PostScript, 89Kb). 

      • Ссылки на другие источники информации об OpenGL.

    Для использования основных возможностей OpenGL необходимо иметь реализацию базисной библиотеки, а также библиотек GLU и GLUT. Ссылки на библиотеки можно взять из папки ПЗ_1.

    Оценка

    В нижеследующей таблице указано распределение баллов в зависимости от реализованных требований:  

    Простейший вариант сцены (только освещение)

    20 баллов

    Разбиение полигонов

    +1 балл

    Использование текстур

    +2 балла

    Наложение теней

    +2 -4 балла

    Устранение ступенчатости

    +2 балла

    Использование прозрачных объектов

    +1 балл


    Дополнительные баллы можно получить за хорошую оптимизацию рендеринга, необычные решения, эстетичность и т.д. 

    Оформление задания

    Архив должен содержать readme.txt файл в специальном формате, шаблон которого

    Задание №15: Cornell Box
    * Автор: Фамилия Имя Отчество, номер группы
    ---------------------------
    * В программе реализовано:

    [] Простейший вариант сцены (только освещение)
    [] Разбиение полигонов
    [] Использование текстур
    [] Наложение теней
    [] Устранение ступенчатости
    [] Использование прозрачных объектов

    (в [] ставится +/- в зависимости от того, реализован/не реализован данный пункт)

    ---------------------------
    Здесь можно указать пожелания, комментарии, а также описать трудности, возникшие при изучении OpenGL API.

    Примечание: нет необходимости присылать файлы glut32.dll, glu32.dll и opengl32.dll

    Пример

    Пример выполненной работы, которая оценивается в 35 баллов можно скачать из папки с заданием (10Kb). (Внимание! Нет необходимости делать интерактивную программу, но создание таких программ поощряется дополнительными баллами.)

    Материалы задания взяты с сайта

    https://www.graphicon.ru/oldgr/courses/cg2000b/hw5/hw-5.htm


    написать администратору сайта