Разработчик Zydak выложил свой физически корректный path tracer на Vulkan с открытым исходным кодом. Особенно впечатлили рендеры облаков с атмосферным рассеиванием, только гляньте на это, прям как фотки.
Что под капотом: полноценный BSSRDF с диффузным, металлическим, диэлектрическим и стеклянным лепестками. Для объёмного рассеивания используется delta tracking (ratio tracking) с функцией Хеньи-Гринштейна и законом Бира. Вместо GLSL автор использует Slang — более современный шейдерный язык.
Интересные детали:
🔘Energy compensation по статье Turquin 2018 — без него металлы теряют энергию на высокой шероховатости
🔘Environment map MIS для корректного семплирования HDR-окружения
🔘Деноизер через NVIDIA OptiX
🔘Depth of Field с автоматическим фокусным расстоянием
Из комментариев: автор работал над проектом около двух лет, и это его первый серьёзный проект после экспериментов с OpenGL. На вопрос про delta tracking vs raymarching ответил, что delta tracking даёт unbiased результат без головной боли с подбором количества шагов.
Требует RTX 2000+ или RX 6000+. Код в репо, там же ещё больше демо-картинок.
@make_game
Post #1737
2.54K




- 😍 15
- 🔥 5