Wiki

Clone wiki

opengl_samples / Задания

Задания

Общие требования

Каждый студент в течение семестра должен реализовать индивидуальный проект, который разбивается на 3 задания, каждое со своим дедлайном.

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

Проект необходимо выполнить на языке C++ с использованием OpenGL 3.x и выше. Можно (и нужно) использовать библиотеки, которые используются в примерах. Другие языки и библиотеки допускаются после согласования.

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

Общие правила оформления проектов

  1. Клонируйте репозиторий с примерами и соберите по инструкции.
  2. Создайте свой форк репозитория с заданиями на сайте https://bitbucket.org.
  3. Клонируйте свой форк себе на компьютер и сделайте задание. Подробнее смотри ниже.
  4. Отправьте свои изменения в свой форк.
  5. На страничке форка создайте Pull-запрос на слияние с основным репозиторием.

Работа с заданием под Linux

Создайте папку для примеров, например, /home/username/graphics и перейдите туда в терминале. Выполните следующие команды:

mkdir tasks-build
mkdir tasks-install
hg clone <путь к вашему форку> tasks
  1. Перейдите в папку tasks\task1 и создайте там подпапку <номер группы><фамилия на латинице> (например, 123Ivanov) и скопируйте в неё файлы с исходным кодом .h и .cpp

    Когда будете делать 2е и 3е задание, то скопируйте свой код в папки tasks\task2 и tasks\task3 соответственно.

  2. Создайте вложенную подпапку <номер группы><фамилия на латинице>Data (например, 123IvanovData) и скопируйте в неё дополнительные файлы: шейдеры, изображения и возможно другие.

  3. В папке <номер группы><фамилия на латинице> создайте файл CMakeLists.txt следующего содержимого

    set(SRC_FILES
        Main.h
        Main.cpp
    )
    
    MAKE_TASK(123Ivanov 1 "${SRC_FILES}")
    

    Здесь в переменной SRC_FILES укажите имена ваших файлов с исходным кодом. В аргументах макроса MAKE_TASK укажите имя папки и номер задания (1, 2 или 3).

Далее выполните команды:

cd tasks-build
cmake ../tasks -DCMAKE_INSTALL_PREFIX=../tasks-install -DDEPENDENCIES_ROOT=../dependencies-install -DCMAKE_BUILD_TYPE=Debug -DSELECTED_STUDENT=`<номер группы><фамилия на латинице>`
make
make install

Скомпилированные задания, шейдеры, текстуры и модели будут скопированы в папку tasks-install.

Работа с заданием под Windows

Для определенности выберем папку D:\Graphics - аналогично примерам. Вы можете делать задание в любой другой.

  1. Создайте в папке D:\Graphics следующие подпапки:

    • tasks - здесь будет лежать репозиторий с заданиями
    • tasks-build - здесь будет находится проект Visual Studio
    • tasks-install - сюда будут скопированы исполняемые файлы и файлы с данными
  2. Клонируйте свой форк репозитория в папку D:\Graphics\tasks

  3. Перейдите в папку tasks\task1 и создайте там подпапку <номер группы><фамилия на латинице> (например, 123Ivanov) и скопируйте в неё файлы с исходным кодом .h и .cpp

    Когда будете делать 2е и 3е задание, то скопируйте свой код в папки tasks\task2 и tasks\task3 соответственно.

  4. Создайте вложенную подпапку <номер группы><фамилия на латинице>Data (например, 123IvanovData) и скопируйте в неё дополнительные файлы: шейдеры, изображения и возможно другие.

  5. В папке <номер группы><фамилия на латинице> создайте файл CMakeLists.txt следующего содержимого

    set(SRC_FILES
        Main.h
        Main.cpp
    )
    
    MAKE_TASK(123Ivanov 1 "${SRC_FILES}")
    

    Здесь в переменной SRC_FILES укажите имена ваших файлов с исходным кодом. В аргументах макроса MAKE_TASK укажите имя папки и номер задания (1, 2 или 3).

  6. Запустите CMake.

    • В поле "Where is the source code" укажите путь D:\Graphics\tasks
    • В поле "Where to build the binaries" укажите путь D:\Graphics\tasks-build
    • Нажмите Configure
    • В переменной DEPENDENCIES_ROOT укажите путь к библиотекам (смотрите инструкцию к примерам, там путь D:/Graphics/dependencies-install).
    • В переменной CMAKE_INSTALL_PREFIX - D:/Graphics/tasks-install
    • По желанию можно в переменной SELECTED_STUDENT указать <номер группы><фамилия на латинице>. В том случае задания других студентов собираться не будут.
    • Нажмите Configure снова
    • Нажмите Generate.
  7. Запустите проект Visual Studio D:\Graphics\tasks-build\StudentTasks2017.sln

    • Нажмите правой кнопкой мыши на проекте INSTALL и выберите пункт Собрать - проект будет собран, и результирующие файлы будут скопированы в папку D:/Graphics/tasks-install
  8. Убедитесь, что примеры запускаются из папки D:/Graphics/tasks-install

Совет. Чтобы запускать и отлаживать проекты в Visual Studio.

  1. В Solution Explorer нажмите правой кнопкой на свой проект, и выберите Set as startup project (Назначить запускаемым проектом).
  2. В том же контекстном меню нажмите Свойства -> Свойства конфигурации -> Отладка. Значение параметра Рабочий каталог измените на D:/Graphics/tasks-install.

Список проектов

  1. Трехмерная поверхность
  2. Трехмерный рельеф
  3. Лабиринт
  4. Дерево

Updated