a859837cde
Cycles already treats denoising fairly separate in its code, with a dedicated `Denoiser` base class used to describe denoising behavior. That class has been fully implemented for OIDN (`denoiser_oidn.cpp`), but for OptiX was mostly empty (`denoiser_optix.cpp`) and denoising was instead implemented in the OptiX device. That meant denoising code was split over various files and directories, making it a bit awkward to work with. This patch moves the OptiX denoising implementation into the existing `OptiXDenoiser` class, so that everything is in one place. There are no functional changes, code has been mostly moved as-is. To retain support for potential other denoiser implementations based on a GPU device in the future, the `DeviceDenoiser` base class was kept and slightly extended (and its file renamed to `denoiser_gpu.cpp` to follow similar naming rules as `path_trace_work_*.cpp`). Differential Revision: https://developer.blender.org/D16502 |
||
---|---|---|
.. | ||
cpu | ||
cuda | ||
dummy | ||
hip | ||
metal | ||
multi | ||
oneapi | ||
optix | ||
CMakeLists.txt | ||
denoise.cpp | ||
denoise.h | ||
device.cpp | ||
device.h | ||
graphics_interop.cpp | ||
graphics_interop.h | ||
kernel.cpp | ||
kernel.h | ||
memory.cpp | ||
memory.h | ||
queue.cpp | ||
queue.h |