Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 1 |
Readme: "ComputerGraphicsCourseFEFU2021/CGCourse/CGCourse/lessons/"
Examples: "ComputerGraphicsCourseFEFU2021/CGCourse/CGCourse/CGCourse/examples/"
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 10 |
Дедлайн: 19.03.21
Задание1. Требуется требуется реализовать библиотеку математики.
Veci, i={2,3,4}
Методы:
Конструкторы: Veci(), Veci(float)m Veci(float, float, ...), Veci(veci)
сложение векторов
вычитание векторов
скалярное произведение
умножение на чило
деление на число
векторное произведение (для Vec3)
длина вектора
нормализация
сравнение векторов ==, !=
Mati, i={2,3,4}
Методы:
Конструкторы: Mati(), Mati(float)m Mati(float, float, ...), Mati(Mati)
сложение матриц
вычитание матриц
умножение матриц
умножение на число
деление на число
прибавления числа
вычитание числа
умножение матрицы на вектор
единичная матрица
обратная матрица
транспонированная матрица
сравнение векторов ==, !=
смещение
поворот
масштабирование
получить строку/столбец
Доп. методы
LookAt
Perspective
Ortho
+ Нужно написать тесты используя библиотеку glm.
На доп бал реализовать класс Quaternion.
Задание 2. Добавить камеру в проект.
Используя написанную библиотеку математики нужно дописать код. e4.h в папке examples.
Задание 3. Загрузку шейдера нужно переделать, превратив его в объект.
Методы
use() - использовать шейдер
setMat4(std::string id, const Mat4& data)
итд
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 10 |
Дедлайн: 3.04.21
Задание 1
Требуется добавить освещение в проект
Необходимо реализовать directional, poin и spot
Добавить объекты определяющие материалы и источники света
Реализовать рендеринг нескольких источников света (Forward render)
Задание 2
Добавить объекты для описания VAO, VBO, Texture, Shader
1 < N < 100
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 10 |
1) Добавить загрузку моделей с нормалями, тангетами, битангетами
2) Добавить skybox
3) Добавить несколько моделей в сцену
1 < N < 100
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 10 |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Входной файл: | Стандартный вход | Ограничение времени: | 1 сек | |
Выходной файл: | Стандартный выход | Ограничение памяти: | 512 Мб | |
Максимальный балл: | 10 |
Требуется добавить ECS в движок (урок 9 + интернет в git)
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|