Задача A. Intro

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Гит курса: https://github.com/J-CITY/ComputerGraphicsCourseFEFU2021

Readme: "ComputerGraphicsCourseFEFU2021/CGCourse/CGCourse/lessons/"

Examples: "ComputerGraphicsCourseFEFU2021/CGCourse/CGCourse/CGCourse/examples/"

Примеры тестов

Стандартный вход Стандартный выход
1
0
1

Задача B. Математика для КГ

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

Задача C. Освещение в OpenGL

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:10  

Условие

Дедлайн: 3.04.21

Задание 1

Требуется добавить освещение в проект

Необходимо реализовать directional, poin и spot

Добавить объекты определяющие материалы и источники света

Реализовать рендеринг нескольких источников света (Forward render)

Задание 2

Добавить объекты для описания VAO, VBO, Texture, Shader

Ограничения

1 < N < 100

Примеры тестов

Стандартный вход Стандартный выход
1
0
1

Задача D. Загрузка моделей

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:10  

Условие

1) Добавить загрузку моделей с нормалями, тангетами, битангетами

2) Добавить skybox

3) Добавить несколько моделей в сцену

Ограничения

1 < N < 100

Примеры тестов

Стандартный вход Стандартный выход
1
0
1

Задача E. Допы

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:10  

Примеры тестов

Стандартный вход Стандартный выход
1
0
1

Задача F. ECS

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:10  

Условие

Требуется добавить ECS в движок (урок 9 + интернет в git)

Примеры тестов

Стандартный вход Стандартный выход
1
0
1

0.629s 0.018s 23