Blender Git Commit Log
Git Commits -> Revision 0ecca30
Revision 0ecca30 by Sergey Sharybin (cycles-x) April 15, 2021, 07:26 (GMT) |
Cycles: Rework denoiser integration The goal is to allow OptiX denoiser when rendering with CPU or CUDA. The Denoiser now can request device to be created if none of the devices configured for rendering is suitable for denoising. This allowed to remove some tricky logic from BlenderSync. Another related change is the move of denoiser parameters from Session to Integrator, allowing to change denoiser settings without doing full session re-creation. Known remaining aspects: - If CUDA is used for rendering try to use same physical device for OptiX denoising. - Optimize data transfer when different Device is used for denoising. - Would also be nice to not restart rendering when it is only start denoising sample is changed. |
Commit Details:
Full Hash: 0ecca308906a35eeaa850cb53abc7fcc4b700b9f
Parent Commit: d1c6193
Lines Changed: +324, -215
20 Modified Paths:
/intern/cycles/blender/blender_session.cpp (+1, -7) (Diff)
/intern/cycles/blender/blender_sync.cpp (+26, -21) (Diff)
/intern/cycles/blender/blender_sync.h (+5, -7) (Diff)
/intern/cycles/device/device.cpp (+0, -49) (Diff)
/intern/cycles/device/device.h (+0, -4) (Diff)
/intern/cycles/device/multi/device.cpp (+1, -49) (Diff)
/intern/cycles/integrator/denoiser.cpp (+12, -0) (Diff)
/intern/cycles/integrator/denoiser.h (+1, -0) (Diff)
/intern/cycles/integrator/denoiser_device.cpp (+160, -8) (Diff)
/intern/cycles/integrator/denoiser_device.h (+25, -0) (Diff)
/intern/cycles/integrator/denoiser_optix.cpp (+5, -1) (Diff)
/intern/cycles/integrator/denoiser_optix.h (+3, -0) (Diff)
/intern/cycles/integrator/path_trace.cpp (+8, -5) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+7, -3) (Diff)
/intern/cycles/render/integrator.cpp (+37, -0) (Diff)
/intern/cycles/render/integrator.h (+9, -0) (Diff)
/intern/cycles/render/scene.cpp (+7, -4) (Diff)
/intern/cycles/render/scene.h (+1, -2) (Diff)
/intern/cycles/render/session.cpp (+12, -26) (Diff)
/intern/cycles/render/session.h (+4, -29) (Diff)
/intern/cycles/blender/blender_sync.cpp (+26, -21) (Diff)
/intern/cycles/blender/blender_sync.h (+5, -7) (Diff)
/intern/cycles/device/device.cpp (+0, -49) (Diff)
/intern/cycles/device/device.h (+0, -4) (Diff)
/intern/cycles/device/multi/device.cpp (+1, -49) (Diff)
/intern/cycles/integrator/denoiser.cpp (+12, -0) (Diff)
/intern/cycles/integrator/denoiser.h (+1, -0) (Diff)
/intern/cycles/integrator/denoiser_device.cpp (+160, -8) (Diff)
/intern/cycles/integrator/denoiser_device.h (+25, -0) (Diff)
/intern/cycles/integrator/denoiser_optix.cpp (+5, -1) (Diff)
/intern/cycles/integrator/denoiser_optix.h (+3, -0) (Diff)
/intern/cycles/integrator/path_trace.cpp (+8, -5) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+7, -3) (Diff)
/intern/cycles/render/integrator.cpp (+37, -0) (Diff)
/intern/cycles/render/integrator.h (+9, -0) (Diff)
/intern/cycles/render/scene.cpp (+7, -4) (Diff)
/intern/cycles/render/scene.h (+1, -2) (Diff)
/intern/cycles/render/session.cpp (+12, -26) (Diff)
/intern/cycles/render/session.h (+4, -29) (Diff)