LerpworksAcademy

Картинка · курс

Рендер глубже

14 уроков · 3 главы

Третий круг после «Как движок рисует кадр»: физика поверхности и свет окружения, устройство видеокарты и графический API, компиляция шейдеров, разбор кадра, объёмный свет, Nanite, Lumen, тысячи ламп, трассировка лучей и HDR-экраны. Читать по порядку.

Курс ещё пишется. Готово уроков: 0 из 14.

Глава 1 · Поверхность

1PBR глубже: микрограни, Френель и сохранение энергиискороЧто на самом деле считает материал: поверхность как миллионы крошечных зеркал, доля отражения по Френелю, распределение микрограней и почему поверхность не может отдать света больше, чем получила. Формулы, на которых стоят все PBR-движки.2Свет окружения: как небо и кубмапы освещают предметскороКак предмет освещается не одной лампой, а всем миром вокруг: заранее размытые кубмапы под каждую шероховатость, таблица Френеля и почему без света окружения металл выглядит чёрным.3Лак, ткань и волосы: поверхности со слоямискороПочему автомобильная краска блестит дважды, бархат светится по краям, а шлифованный металл и волосы дают вытянутый блик: прозрачный лак, ворс и анизотропия — как они устроены и как их изображают.4Цифры PBR: цвет и шероховатость настоящих материаловскороОдин экран значений: допустимая яркость базового цвета, отражательная способность металлов и диэлектриков, шероховатость типичных поверхностей и как проверить текстуры по этим числам.

Глава 2 · Видеокарта

5Как устроена видеокарта: тысячи маленьких работниковскороПочему видеокарта считает миллионы пикселей быстрее процессора: тысячи простых вычислителей, которые делают одно и то же группами, общая память и её пропускная способность. Откуда берётся цена ветвлений, выборок и перерисовки.6Графический API: как движок говорит с видеокартойскороЧто такое DirectX, Vulkan и Metal: списки команд, состояния конвейера, буферы и синхронизация. Почему вызов отрисовки стоит процессору времени и как новые API и движки уменьшают эту цену.7Рывки при первом показе: компиляция шейдеровскороОткуда берутся рывки, когда впервые появляется новый эффект или материал: видеокарте нужно собрать программу под конкретную связку настроек. Варианты шейдеров, кэши, прогрев заранее и что может сделать художник.8Разобрать кадр по проходам: RenderDoc и профайлер UnrealскороПо шагам: снять кадр, пройти его от первого прохода до картинки на экране, найти, что рисуется зря и что съедает больше всего времени, и проверить догадку.

Глава 3 · Современный рендер

9Объёмный свет: туман, лучи и облакаскороКак движок рисует свет в воздухе: лучи сквозь листву, светящийся туман у фонаря, облака. Воздух как среда, которая рассеивает и гасит свет, сетка объёма вокруг камеры, шаги вдоль луча и их цена.10Nanite изнутри: геометрия по кусочкамскороКак Nanite рисует миллиарды треугольников: модель режется на кластеры, у каждого есть упрощённые копии, видеокарта сама выбирает детализацию и отбрасывает невидимое. Что Nanite любит, чего не умеет и сколько стоит.11Lumen изнутри: как считается живой светскороКак Unreal считает отскоки света без запекания: кэш поверхностей, поля расстояний, трассировка по экрану и по миру, накопление по кадрам. Откуда свет течёт сквозь стены, почему он запаздывает и что меняют настройки качества.12Тысячи ламп: от отложенного света к MegaLightsскороПочему каждая лампа с тенью дорогая и как движки научились рисовать сотни и тысячи ламп: отложенное освещение, деление экрана на ячейки, случайный выбор ламп с накоплением по кадрам. MegaLights в Unreal и его ограничения.13Трассировка лучей: свет, который ищут лучамискороКак видеокарта пускает лучи: дерево обёрток вокруг треугольников, бюджет лучей на пиксель, шум и его подавление, трассировка путей. Когда лучи лучше растеризации и почему игры смешивают оба способа.14HDR-экран: свет ярче белогоскороЧем HDR-монитор отличается от обычного, почему белый лист и солнце на нём разной яркости и как движок готовит кадр под два вида экранов: тонмаппинг, яркость бумаги и пиковая яркость.