Чему вы научитесь
- -------------Понимание архитектуры-------------
- Как устроен GPU на уровне ядер, кэшей и памяти
- Чем GPU отличается от CPU и почему он быстрее в параллельных вычислениях
- Как драйвер и API связывают код с железом
- -------------Графический пайплайн-------------
- Полный путь данных от вершины до пикселя
- Как работает каждая стадия пайплайна — Input Assembler, вершинный шейдер, тесселяция, растеризатор, фрагментный шейдер, Output Merger
- Как настраивать и оптимизировать каждую стадию
- -------------Системы координат и математика-------------
- Все пространства координат - Object, World, View, Clip, NDC, Screen
- MVP матрицы, Perspective Divide, интерполяция атрибутов
- -------------Освещение и материалы-------------
- Физически корректный рендеринг — PBR, BRDF, металлик-шероховатость модель
- Техники имитации объёма — Normal Mapping, Parallax, POM
- Shadow Mapping, каскадные тени, PCF фильтрация
- -------------Архитектуры рендеринга-------------
- Forward Rendering, Forward+, Deferred Rendering, Clustered Rendering
- Когда и почему выбирать каждый подход
- -------------Оптимизация-------------
- Frustum Culling, Backface Culling, Occlusion Culling
- LOD системы, HLOD, Nanite
- Overdraw, Early-Z, Depth Prepass, GPU Driven Rendering
- -------------Артефакты и их устранение-------------
- Z-fighting, Shadow Acne, Peter Panning, Texture Bleeding, Moiré, алиасинг
- Практические методы диагностики и устранения
- -------------Постобработка-------------
- Полный стек — TAA, SSAO, Bloom, DoF, Tone Mapping, Colour Grading
- HDR рендеринг и финальный вывод на экран
- -------------Современные технологии-------------
- Compute Shader и GPGPU вычисления
- Ray Tracing Pipeline, Acceleration Structure, денойзинг
- DLSS, FSR, апскейлинг
О курсе
Курс охватывает полный жизненный цикл кадра - от момента когда игровой движок вызывает draw call до момента когда фотоны покидают монитор. Каждый этап разбирается с двух сторон: что происходит аппаратно внутри GPU и как разработчик управляет этим через API и шейдеры.
Курс построен как единная история. Модули идут в том же порядке в котором данные проходят через пайплайн. К финальному уроку все части складываются в полную картину.
Глубина без лишней сложности. Темы объясняются на уровне достаточном для понимания механики и принятия инженерных решений. Там где важна математика - она есть. Там где достаточно интуиции - формулы не перегружают объяснение.
Структура курса. 13 модулей, более 60 уроков. Каждый урок заканчивается контрольными вопросами с ответами для самопроверки. Модули можно читать последовательно или использовать как справочник по конкретным темам.
Курс не привязан к конкретному API или движку. Принципы применимы к DirectX 12, Vulkan, Metal, OpenGL и любому движку построенному поверх них.
Для кого этот курс
Начальные требования
Желательно, но не обязательно
Знание математики на уровне первого курса технического университета. Базовое программирование на любом языке. Базовый опыт работы с любым 3D движком - Unity, Unreal, Godot, Blender. Понимание что такое меш, материал, источник света помогает но не является требованием.
Знакомство с понятиями GPU и шейдеров на базовом уровне. Если вы уже слышали слова "вершинный шейдер" и "текстура" - отлично. Если нет - курс начинается с основ.