Содержание
CAPCOM подробно показала, как внедрила path tracing в RE Engine для двух игр — Resident Evil Requiem и PRAGMATA. Доклад прозвучал на GDC 2026 и сразу объясняет главный нюанс: рендер тесно завязан на NVIDIA DLSS Ray Reconstruction, который берёт на себя денойзинг и фактически привязывает режим к видеокартам GeForce RTX.
С технической стороны выступали Хитоши Мишима (команда RE Engine в CAPCOM) и Кэлвин Шу (инженер NVIDIA GeForce Developer Technology). По словам CAPCOM, основную реализацию path tracing вели Кента Накамото и Косукэ Набата, и уложились примерно в полтора года.
Чем path tracing в RE Engine отличается от прежнего рейтрейсинга
RE Engine поддерживает ray tracing не первый год. Ещё Resident Evil Village (2021) получил рейтрейсинговые глобальное освещение, AO и отражения. Но схема оставалась гибридной: прямой свет считали растеризацией, а лучи использовали в основном для непрямого освещения.
Полный path tracing строит и прямой, и непрямой свет через одну трассировочную цепочку. CAPCOM отмечает практические эффекты: более детальные тени, более резкие отражения, более стабильный денойзинг и более строгий ambient occlusion по сравнению с «обычным» RT.
Под капотом обе системы делят общую инфраструктуру: одинаковые ray query и material shader. А сборка BVH в RE Engine запускается как asynchronous compute, параллельно с другими задачами.
Главный выигрыш по скорости — умный отбор источников света
Самый большой прирост производительности CAPCOM получила на выборке источников света. В докладе команда описала подход streaming RIS, который помогает выбирать «важные» источники, а не перебирать всё подряд в шейдерных циклах.
- Компенсация яркости: чтобы убрать затемнения под прожекторами, вес обновления reservoir считают не по стандартной luminance, а с учётом camera exposure и коэффициента коррекции.
- Упрощённый BSDF: на этапе генерации кандидатов используют Lambertian diffuse + single-lobe specular вместо полного BSDF, чтобы снизить ALU-нагрузку.
- Отсечение IBL: в помещениях с высокоинтенсивным image-based lighting IBL исключают из набора кандидатов, потому что такие сэмплы почти всегда перекрыты и дают дисперсию, которая бьёт по качеству DLSS Ray Reconstruction.
- Emissive-полигоны как явные NEE-сэмплы: CAPCOM добавила выборку треугольников через Walker’s Alias Method, чтобы получить O(1) triangle sampling по площади и интенсивности прямо на GPU.
Ещё один важный элемент — пространственная структура под точечные источники. RE Engine строит 3D-сетку (AABB) вокруг каждого punctual light размером 16×128×128 ячеек. Каждая ячейка хранит bitmask с ID света. На каждом hit-поинте streaming RIS обращается к этой сетке и оценивает только те источники, которые реально влияют на позицию. По словам CAPCOM, это и стало самым крупным выигрышем по скорости при семплировании точечных источников.
ReSTIR GI и guide buffer: как CAPCOM «подружила» path tracing с DLSS RR
Отдельный кусок работы CAPCOM посвятила качеству DLSS Ray Reconstruction. Команда внедрила ReSTIR GI, чтобы снизить шум в непрямом освещении и стабилизировать картинку для RR. Система переиспользует path-сэмплы между кадрами: пути текущего кадра хранятся на пиксель, а данные прошлого кадра ресэмплятся со временем.
Чтобы не загнать RR в высокую корреляцию (это ухудшает результат), сэмплы берут не из точного соответствия «пиксель в пиксель» с прошлым кадром, а из слегка смещённых позиций относительно прошлых пикселей.
CAPCOM отдельно подчёркивает практический бонус: во многих сценах Resident Evil Requiem и PRAGMATA освещение можно строить только на IBL. Это резко снижает шум и упрощает жизнь денойзеру.
Большую часть артефактов CAPCOM решала через DLSS Ray Reconstruction guide buffer. В докладе перечислили несколько конкретных кейсов:
- Subsurface scattering: SSS blur-pass давал ghost-артефакты в волосах при подаче в RR. Исправление — кодировать в guide buffer разницу luminance до и после scattering.
- Матовое/размытое стекло: применили тот же подход, что и для SSS, потому что тип артефактов совпадал.
- Дождевые капли и прозрачные декали: обработка disocclusion в RR делала капли почти невидимыми. CAPCOM использовала disocclusion mask в guide buffer, а маску считала выборочно по нормалям до и после декали. Команда подчёркивает: если переборщить с маской, шум возвращается.
- Анимированные проекционные текстуры света: RR плохо держал быстро меняющиеся паттерны на поверхностях. CAPCOM сравнивала RIS animation weights с общими streaming RIS weights, оценивала вклад на точке шейдинга и масштабировала disocclusion mask пропорционально.
- Голограммы: анимированный emissive-рисунок не попадал в guide buffer и «плыл» в RR. Фикс — заменить diffuse и specular albedo в guide buffer на emissive color, чтобы паттерн стал видимым и стабильным.
Волосы, BVH и почему PRAGMATA обновила strand tech
Обе игры используют фирменную технологию волос CAPCOM, которая дебютировала в Resident Evil 4 Remake (2023). Это гибрид: классификация и отсечение клоков, затем hardware rasterization для непрозрачных прядей, а после — software-проход полупрозрачности для тонких «пушков».
Для рейтрейсинга раньше применяли proxy-геометрию: в BVH лежала упрощённая сетка вместо полного набора прядей. PRAGMATA стала первой игрой, где это обновили до полноценного strand BVH, потому что длинные волосы Дианы слишком сильно расходились с прокси-мешем.
SER на RTX 5090: оптимизация шла с откатами
Самая «железная» часть доклада — разбор оптимизаций на стороне NVIDIA. Кэлвин Шу показал путь на тестовой сцене PRAGMATA при 4K на RTX 5090 с дефолтными частотами. Сравнивали режимы с DLSS Ray Reconstruction, DLAA, и сцену с 73 аналитическими источниками света и 32 emissive-сэмплами из 4K-массива.
| Этап | Frame time | Что меняли |
|---|---|---|
| Baseline CS wavefront | 21 мс | 13,7 avg threads/warp, 43% coherence; основное время уходило в циклы семплирования punctual + emissive |
| Simplified RIS BRDF | 17,7 мс | Экономия 15%; перешли на world-space vanilla GGX, вынесли rand-вызовы, разделили UInt32 rand на два float |
| Naive SER port (без compaction) | 23,5 мс | Хуже базовой; 12% active threads/warp и 38% coherence |
| SER enabled | 20,8 мс | Coherence вырос до 57%, но упёрлись в instruction cache stalls: 35% времени ждали загрузки инструкций |
| SER + bindless resources | ~16,9 мс | Статические SRV вызвали дублирование инструкций компилятором (до ~24K); bindless вернул ~12K и снял stalls |
| Driver optimizations | 13,3 мс | На момент доклада ещё не было в релизных драйверах |
Шу отдельно подчеркнул, что оптимизация шла не по прямой. Два раза получили регресс из-за неудачной интеграции Shader Execution Reordering (SER). Ключевая находка была в том, что объединение двух compute-проходов с разными статическими SRV (для direct и indirect света) в один dispatch ray call заставило компилятор продублировать код. Инструкций стало около 24K, и это привело к тяжёлым stalls в instruction cache. Переход на bindless вернул объём кода к ~12K и убрал узкое место.
В финале NVIDIA назвала DXR 1.2 и SER рекомендуемым направлением для path traced игр. Шу описал это как путь к «Speed of Light» throughput при меньшем объёме «проводки» в коде. Ещё один конкретный анонс со сцены — NVIDIA готовит DLSS Ray Reconstruction Disocclusion Mask 2.0, чтобы закрыть проблемные кейсы, с которыми столкнулись Resident Evil Requiem и PRAGMATA.
Запись доклада CAPCOM и NVIDIA лежит на NVIDIA Game Developer YouTube channel, а текстовая расшифровка доклада доступна отдельным файлом.