Blender Git Commit Log
Git Commits -> Revision 3c96956
Revision 3c96956 by Brecht Van Lommel (cycles-x) March 12, 2021, 12:40 (GMT) |
Cycles: add back light intersection for multiple importance sampling * Intersect closest kernel now intersects with point, spot and area lights in addition to scene geometry. This could later be optimized by adding lights to the BVH. * If such a light is hit, the new shade_light kernel will be executed which will evaluate the light shader and write to the render buffer, then continue with intersect_closest. * The shade_background kernel handles intersection and shader evaluation for distant lights. |
Commit Details:
Full Hash: 3c96956c981fab26894987d6703573727386a5f3
Parent Commit: 5dea2ae
Lines Changed: +391, -141
1 Added Path:
/intern/cycles/kernel/integrator/integrator_shade_light.h (+127, -0) (View)
19 Modified Paths:
/intern/cycles/device/cpu/device_queue.cpp (+1, -0) (Diff)
/intern/cycles/device/cpu/kernel.cpp (+1, -0) (Diff)
/intern/cycles/device/cpu/kernel.h (+1, -0) (Diff)
/intern/cycles/device/cuda/queue.cpp (+1, -0) (Diff)
/intern/cycles/device/device_kernel.cpp (+2, -0) (Diff)
/intern/cycles/integrator/path_trace_work_pixel.cpp (+1, -0) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.cpp (+1, -0) (Diff)
/intern/cycles/kernel/CMakeLists.txt (+1, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_closest.h (+19, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_megakernel.h (+2, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_background.h (+51, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_surface.h (+2, -1) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_volume.h (+3, -0) (Diff)
/intern/cycles/kernel/kernels/cpu/kernel_cpu.h (+1, -0) (Diff)
/intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h (+2, -0) (Diff)
/intern/cycles/kernel/kernels/cuda/kernel.cu (+17, -0) (Diff)
/intern/cycles/kernel/kernel_emission.h (+0, -54) (Diff)
/intern/cycles/kernel/kernel_light.h (+156, -79) (Diff)
/intern/cycles/kernel/kernel_types.h (+2, -1) (Diff)
/intern/cycles/device/cpu/kernel.cpp (+1, -0) (Diff)
/intern/cycles/device/cpu/kernel.h (+1, -0) (Diff)
/intern/cycles/device/cuda/queue.cpp (+1, -0) (Diff)
/intern/cycles/device/device_kernel.cpp (+2, -0) (Diff)
/intern/cycles/integrator/path_trace_work_pixel.cpp (+1, -0) (Diff)
/intern/cycles/integrator/path_trace_work_tiled.cpp (+1, -0) (Diff)
/intern/cycles/kernel/CMakeLists.txt (+1, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_intersect_closest.h (+19, -6) (Diff)
/intern/cycles/kernel/integrator/integrator_megakernel.h (+2, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_background.h (+51, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_surface.h (+2, -1) (Diff)
/intern/cycles/kernel/integrator/integrator_shade_volume.h (+3, -0) (Diff)
/intern/cycles/kernel/kernels/cpu/kernel_cpu.h (+1, -0) (Diff)
/intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h (+2, -0) (Diff)
/intern/cycles/kernel/kernels/cuda/kernel.cu (+17, -0) (Diff)
/intern/cycles/kernel/kernel_emission.h (+0, -54) (Diff)
/intern/cycles/kernel/kernel_light.h (+156, -79) (Diff)
/intern/cycles/kernel/kernel_types.h (+2, -1) (Diff)