Свет, тени и зеркала: как рождается реализм
Долгое время компьютерная графика «обманывала» глаз: вместо честного расчёта光 траектории каждого луча света использовались хитрые приближения — запечённые тени, фальшивые отражения, имитация глянца. Результат выглядел хорошо, но не по-настоящему. Трассировка лучей (ray tracing) — технология, которая делает виртуальный свет физически корректным.
Принцип трассировки лучей
Идея проста: для каждого пикселя на экране программа «бросает» луч от камеры в сцену и отслеживает его путь:
- Луч попадает в стену → рассчитывается цвет и освещённость
- Луч попадает в зеркало → он отражается, и трассируется новый луч
- Луч попадает в стекло → часть проходит насквозь (преломление), часть отражается
- Отражённый луч попадает в тень → источник света заблокирован
В реальной сцене это миллиарды лучей. Именно поэтому кинематографисты рендерили кадры часами — каждый кадр «Аватара» на обычных CPU занимал до 17 часов.
RT-ядра: специализированное железо
В 2018 году NVIDIA представила архитектуру Turing с первыми в мире RT-cores (ядрами трассировки лучей). Эти специализированные блоки аппаратно ускоряют самый медленный этап трассировки — проверку пересечения луча с геометрией сцены (BVH-обход).
Без RT-ядер трассировка на GPU: медленно, тратит CUDA-ядра общего назначения.
С RT-ядрами: пересечения считаются параллельно, CUDA-ядра свободны для шейдинга.
Поколения RT-ядер: Turing (1-е, 2018) → Ampere (2-е, 2020, вдвое быстрее) → Ada Lovelace (3-е, 2022, втрое быстрее Turing).
Гибридный рендеринг
Полная трассировка всех лучей всё ещё слишком медленна для игр в реальном времени. Поэтому используется гибридный подход:
- Базовая геометрия — традиционная растеризация (быстро)
- Тени от ключевых источников — трассировка (реалистично)
- Отражения в лужах и зеркалах — трассировка
- Глобальное освещение — трассировка или кэш зондов
DLSS (нейросетевое масштабирование) компенсирует потерю кадров от трассировки, позволяя играть в 4K с высоким FPS.
Игры с RTX
Среди заметных примеров: Cyberpunk 2077 (полная трассировка пути в режиме Overdrive), Minecraft RTX, Control, Metro Exodus Enhanced. Технология постепенно становится стандартом: Microsoft включила DirectX Raytracing (DXR) в DirectX 12, Vulkan поддерживает Vulkan Ray Tracing.
