Blender Git Loki
Git Commits -> Revision c16d21e
Revision c16d21e by Sergey Sharybin (cycles-x) July 15, 2021, 15:15 (GMT) |
Cycles X: Bring back cryptomatte post-processing Is the non-accurate mode which is used for both CPU and GPU which is done as a post-processing pass after all samples have finished. This is happening via render scheduler, as it knows when path tracing did finish. Compared to regular Cycles this makes it so the cprypromatte pass is properly sorted with adaptive sampling enabled. The accurate CPU implementation which used to be done via the Coverage class is not yet hooked back. This needs to somehow happen either via the kernel or via the PathTraceWork. Current state of the patch should make it trivial to bring accurate implementation back. This change also fixes missing denoising when rendering when using constant time rendering. Differential Revision: https://developer.blender.org/D11934 |
Commit Details:
Full Hash: c16d21edb5e3463a790ff866b67c33e12cffc592
Parent Commit: ae74169
Lines Changed: +212, -58
17 Modified Paths:
/intern/cycles/device/cpu/kernel.cpp (+2, -0) (Diff)
/intern/cycles/device/cpu/kernel.h (+7, -0) (Diff)
/intern/cycles/device/device_kernel.cpp (+4, -0) (Diff)
/intern/cycles/integrator/path_trace.cpp (+21, -1) (Diff)
/intern/cycles/integrator/path_trace.h (+3, -0) (Diff)
/intern/cycles/integrator/path_trace_work.h (+3, -0) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.cpp (+22, -0) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.h (+1, -0) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.cpp (+12, -0) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+1, -0) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+45, -3) (Diff)
/intern/cycles/integrator/render_scheduler.h (+16, -0) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch.h (+21, -5) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch_impl.h (+29, -5) (Diff)
/intern/cycles/kernel/device/cuda/kernel.cu (+15, -25) (Diff)
/intern/cycles/kernel/kernel_id_passes.h (+8, -19) (Diff)
/intern/cycles/kernel/kernel_types.h (+2, -0) (Diff)
/intern/cycles/device/cpu/kernel.h (+7, -0) (Diff)
/intern/cycles/device/device_kernel.cpp (+4, -0) (Diff)
/intern/cycles/integrator/path_trace.cpp (+21, -1) (Diff)
/intern/cycles/integrator/path_trace.h (+3, -0) (Diff)
/intern/cycles/integrator/path_trace_work.h (+3, -0) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.cpp (+22, -0) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.h (+1, -0) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.cpp (+12, -0) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+1, -0) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+45, -3) (Diff)
/intern/cycles/integrator/render_scheduler.h (+16, -0) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch.h (+21, -5) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch_impl.h (+29, -5) (Diff)
/intern/cycles/kernel/device/cuda/kernel.cu (+15, -25) (Diff)
/intern/cycles/kernel/kernel_id_passes.h (+8, -19) (Diff)
/intern/cycles/kernel/kernel_types.h (+2, -0) (Diff)