- Основы компьютерной графики, её история и используемые технологии.
- Инструментарий. Canvas 2D и создание своей базовой графической библиотеки.
- Рисование простейших элементов: точки, горизонтальные и вертикальные линии.
- Алгоритмы растеризации:
- Работа с растровыми изображениями (битмапами).
- Загрузка и хранение bitmap в памяти.
- Функция BitBlit (bitmap block transfer) — вывод изображения на холст.
- Прозрачность (keycolor, alpha-channel).
- Заливка и текстурирование.
- Сглаживание (Anti-aliasing). Алгоритм Ву.
- Аффинные преобразования: матрицы, перенос, масштаб, поворот.
- Отсечение:
- Алгоритм Коэна-Сазерленда.
- Алгоритм Лианга-Барски.
- Буфер глубины (Z-buffer) и блендинг. Введение в 2.5D.
- 2.5D-спрайты. Вывод, анимация, партиклы. Сортировка по глубине.
- Отрисовка объектов и персонажей в движках (рейкастинг, порталы).
- Парралакс-скроллинг и слои. Создание глубины через движение.
- Изометрическая проекция. Математика, рендер тайлов, сортировка.
- Ранние методы: «обводка» граней (Ultima Underworld-style).
- Рэйкастинг (Wolfenstein 3D). Основы, текстурирование, ограничения.
- BSP-деревья и отсечение невидимых поверхностей (Doom).
- Портальные технологии (Build Engine). Рекурсивное отсечение, сложная архитектура.
- Продвинутые техники:
- Архитектура иллюзий: создание многоуровневых локаций (высоты секторов).
- Динамическая камера: прыжки, лестницы и неровный рельеф.
- Свободный обзор: преодоление ограничений сетки (FOV, DDA, коррекция перспективы).
- Атмосферные эффекты: магия окон, зеркал и воды.
- Геометрия. Точки, векторы, нормали. Базовые операции.
- Проекции. Перспективная и ортографическая. Матрицы преобразований.
- Модели освещения. Фонга, закраска Гуро. Расчёт освещённости.
- Текстурирование. Наложение текстур, перспективная коррекция, MIP-mapping.
- Гибридный рендеринг: интеграция 3D-моделей в среды (на примере Disruptor).
- Трассировка лучей. Базовый рейтрейсинг.
- Шейдеры. WebGL и GLSL основы.
- Оптимизации. Отсечение невидимых граней, уровень детализации.