Cycles: SSS and Volume rendering in split kernel
authorHristo Gueorguiev <prem.nirved@gmail.com>
Wed, 8 Mar 2017 14:42:26 +0000 (15:42 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 9 Mar 2017 16:09:37 +0000 (17:09 +0100)
commit57e26627c485baab63e108821b2712d5e234ae7c
treee3ee5aa4bf759121559c69504b77d600552bf527
parent6c942db30dee14eb37229879656fa049a9ac6df6
Cycles: SSS and Volume rendering in split kernel

Decoupled ray marching is not supported yet.

Transparent shadows are always enabled for volume rendering.

Changes in kernel/bvh and kernel/geom are from Sergey.
This simiplifies code significantly, and prepares it for
record-all transparent shadow function in split kernel.
46 files changed:
intern/cycles/device/device.h
intern/cycles/device/device_split_kernel.cpp
intern/cycles/device/device_split_kernel.h
intern/cycles/kernel/CMakeLists.txt
intern/cycles/kernel/bvh/bvh_shadow_all.h
intern/cycles/kernel/bvh/bvh_subsurface.h
intern/cycles/kernel/bvh/bvh_traversal.h
intern/cycles/kernel/bvh/bvh_volume.h
intern/cycles/kernel/bvh/bvh_volume_all.h
intern/cycles/kernel/bvh/qbvh_shadow_all.h
intern/cycles/kernel/bvh/qbvh_subsurface.h
intern/cycles/kernel/bvh/qbvh_traversal.h
intern/cycles/kernel/bvh/qbvh_volume.h
intern/cycles/kernel/bvh/qbvh_volume_all.h
intern/cycles/kernel/geom/geom_object.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_path_subsurface.h [new file with mode: 0644]
intern/cycles/kernel/kernel_path_surface.h
intern/cycles/kernel/kernel_path_volume.h
intern/cycles/kernel/kernel_shader.h
intern/cycles/kernel/kernel_shadow.h
intern/cycles/kernel/kernel_subsurface.h
intern/cycles/kernel/kernel_types.h
intern/cycles/kernel/kernel_volume.h
intern/cycles/kernel/kernels/cpu/kernel_cpu.h
intern/cycles/kernel/kernels/cpu/kernel_cpu_impl.h
intern/cycles/kernel/kernels/opencl/kernel_buffer_update.cl [moved from intern/cycles/kernel/kernels/opencl/kernel_background_buffer_update.cl with 83% similarity]
intern/cycles/kernel/kernels/opencl/kernel_do_volume.cl [new file with mode: 0644]
intern/cycles/kernel/kernels/opencl/kernel_indirect_background.cl [new file with mode: 0644]
intern/cycles/kernel/kernels/opencl/kernel_indirect_subsurface.cl [new file with mode: 0644]
intern/cycles/kernel/kernels/opencl/kernel_split.cl [new file with mode: 0644]
intern/cycles/kernel/kernels/opencl/kernel_subsurface_scatter.cl [new file with mode: 0644]
intern/cycles/kernel/split/kernel_buffer_update.h [moved from intern/cycles/kernel/split/kernel_background_buffer_update.h with 92% similarity]
intern/cycles/kernel/split/kernel_do_volume.h [new file with mode: 0644]
intern/cycles/kernel/split/kernel_indirect_background.h [new file with mode: 0644]
intern/cycles/kernel/split/kernel_indirect_subsurface.h [new file with mode: 0644]
intern/cycles/kernel/split/kernel_lamp_emission.h
intern/cycles/kernel/split/kernel_path_init.h
intern/cycles/kernel/split/kernel_queue_enqueue.h
intern/cycles/kernel/split/kernel_scene_intersect.h
intern/cycles/kernel/split/kernel_shader_eval.h
intern/cycles/kernel/split/kernel_shadow_blocked.h
intern/cycles/kernel/split/kernel_split_common.h
intern/cycles/kernel/split/kernel_split_data.h
intern/cycles/kernel/split/kernel_split_data_types.h
intern/cycles/kernel/split/kernel_subsurface_scatter.h [new file with mode: 0644]