NVIDIA NRD — библиотека временного шумоподавления трассировки лучей

NVIDIA Real-Time Denoisers (NRD) — библиотека для шумоподавления сигналов, ориентированная на трассировку лучей с одним лучом на пиксель. Она предназначена для разработчиков игр и профессиональных приложений визуализации, которым требуется улучшить качество изображения за счёт удаления шума при динамическом и статическом освещении. NRD используется в игровых проектах и приложениях профессиональной визуализации.
Возможности и состав проекта
NRD предлагает три алгоритма шумоподавления: REBLUR для рекуррентного размытия, RELAX, разработанный для RTXDI, и SIGMA для теней от различных источников света. Библиотека использует G-буферы (нормали, шероховатость, глубина и векторы движения) для обработки непрозрачных поверхностей и поддерживает различные типы сигналов, включая диффузное и зеркальное излучение, а также окклюзию. NRD не предназначена для объёмных эффектов или прозрачности.
Начало работы и требования
NRD распространяется в виде исходного кода и готовой библиотеки, что позволяет интегрировать её в движки, использующие D3D12, Vulkan или D3D11. Для сборки требуется CMake 3.30+. Процесс включает клонирование проекта, инициализацию подмодулей и генерацию проекта с помощью CMake или специальных скриптов для Windows и Linux. NRD не делает вызовов графического API, приложение должно самостоятельно выполнять вызовы Dispatch.
Ограничения и выбор сценария
NRD обрабатывает входные сигналы и G-buffer, но не рисует сцену и не выполняет вызовы графического API вместо движка. Ошибки глубины, нормалей и векторов движения могут давать шлейфы или потерю деталей. Для прозрачности и объёмных эффектов описанный основной режим не подходит. Разделяйте сборку библиотеки, интеграцию NRI и собственное подключение к API; качество и бюджет GPU нужно оценивать на динамических сценах своего приложения.
Лицензия и условия использования
В проверенном LICENSE указан NVIDIA RTX SDKs License. Он отдельно регулирует использование SDK, модификацию примеров и распространение встроенных компонентов. Это не MIT или Apache-2.0; перед включением NRD в приложение нужно сверить полные условия и дополнительные соглашения зависимостей.




