Программа обучения:
- Векторы и базис
- Векторы, линейные комбинации, базис
- Переход к новому базису
- Линейные преобразования, масштабирования и повороты
- Скалярное произведение
- Векторное произведение
- Основы линейной алгебры
- Определение матрицы
- Операции с матрицами
- Матрица как линейное преобразование
- Реализация классов "Вектор" и "Матрица"
- Основы 3D графики
- Как устроена 3D графика
- Проекция 3D фигур на плоскость
- Матрица проекции
- Матрица экранного пространства
- Мировая система координат
- Матрицы вращения, перемещения, масштабирования
- Реализация 3D графики
- Нормали и освещение
- Вектор нормали и простое освещение
- Как хранятся 3D объекты, загрузка .obj файлов
- Аналог Z-буфера – алгоритм художника и его проблемы
- Реализация загрузки .obj файлов и алгоритма художника
- Камера и клиппинг
- Переход в систему координат камеры
- Плоскости отсечения, клиппинг
- Ray casting
- Вращение и перемещение камеры
- Физика движка
- Скорость и ускорение
- Реализация скорости и ускорения
- Обнаружение коллизий, алгоритм GJK
- Реализация алгоритма GJK
- Обработка коллизий, алгоритм EPA
- Реализация алгоритма EPA
- Анимация
- Линейная анимация
- Безье и bounce анимация
- Анимация перемещения, поворота, масштабирования
- Реализация Minecraft
- Кубический мир
- Управление персонажем
- Механика: ломать и ставить блоки
- Как работает Multiplayer в играх
- Сетевая модель OSI
- Основные принципы сетевого взаимодействия
- UDP соединение и UDP сокет
- Сервер и клиент
- Реализация мультиплеера
https://vectozavr.ru/