Все задания представляют собой изолированные проекты.
Смело меняйте их CMakeLists.txt как вам угодно, добавляйте новые файлы и папки, а также копируйте код семплов.
Для сдачи домашек следует создать приватный форк репозитория, очень желатильно вместе с CI, чтобы ваш код точно компилировался на всех компиляторах. Также следует добавить в контрибьютеры проверяющих. Каждую домашку следует выполнять в отдельной ветке с названием, соответствующим папке задания, и создавать pull-request в мастер своего форка для проверки.
Чтобы создать приватный форк необходимо создать пустой приватный репозиторий и вручную добавить этот репозиторий как дополнительный ремоут.
git remote add upstream https://github.com/Mrkol/graphics-course.gitgit remote set-url --push upstream DISABLEgit fetch upstreamgit rebase upstream/master
Повторяйте последние 2 команды чтобы обновиться на более новую версию репозитория.
Код из папки common тоже разрешается и приветствуется менять, однако следует помнить, что после проверки ветка будет вмерджена в мастер и изменения в common сделанные для одной домашки могут конфликтовать или просто "молча" сломать другую домашку.
Будьте аккуратны, старайтесь не ломать совместимость с ещё не проверенными домашками!
- Shadertoy 1
- Shadertoy 2
- Локальный shadertoy 1
- Захват кадра
- Локальный shadertoy 2
- Кадры в полёте
- Запекалка моделей
- Много объектов
- Террейн
- Тон-маппинг
- Отложенное освещение
- PBR
- Каскадные тени
- Immediate Mode Graphical User Interfaces
- Биндлесс
- Трава
- Террейн 2
- Мыло
- Screen-space Ambient Occlusion
- Вода
- Туман
- Глобальное освещение
- Подповерхностное рассеивание
- Частицы
- Частицы 2
- Аппаратная трассировка лучей