Входной файл: | Стандартный вход | Ограничение времени: | 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 |
|
|