blender/intern/cycles/kernel
Thomas Dinges 99e20d7b89 Cycles: Option to Sample all Lights in the Branched Path integrator for indirect samples
This adds a new option "Sample All Lights" to the Sampling panel in Cycles (Branched Path). When enabled, Cycles will sample all the lights in the scene for the indirect samples, instead of randomly picking one. This is already happening for direct samples, now you can optionally enable it for indirect.

Example file and renders:
Blend file: http://www.pasteall.org/blend/27411
Random: http://www.pasteall.org/pic/show.php?id=68033
All: http://www.pasteall.org/pic/show.php?id=68034

Sampling all lights is a bit slower, but there is less variance, so it should help in situations with many lights.

Patch by myself with some tweaks by Brecht.
Differential Revision: https://developer.blender.org/D391
2014-03-09 22:20:01 +01:00
..
closure Fix T38615: cycles rendering beckmann/GGX refraction wrong with IOR equal to 1. 2014-02-12 22:50:31 +01:00
osl Fix T38900: cycles OSL crash running getmessage("trace", "geom:name", name) 2014-03-01 14:58:05 +01:00
shaders Add support for multiple interpolation modes on cycles image textures 2014-03-07 23:16:33 +01:00
svm Add support for multiple interpolation modes on cycles image textures 2014-03-07 23:16:33 +01:00
CMakeLists.txt Fix compilation of Cycles AVX kernel with cmake. 2014-01-16 18:32:54 +01:00
kernel_accumulate.h Cycles: Code refactor for Clamping/Inf Rejection, combined into 1 function. Also avoid some conditionals. 2014-02-11 17:44:41 +01:00
kernel_avx.cpp Cycles: Add an AVX kernel for CPU rendering. 2014-01-16 17:04:11 +01:00
kernel_bvh_subsurface.h Cycles: fix crash in SSE hair and half-floats on x86+vc2008 2014-02-27 15:01:20 +04:00
kernel_bvh_traversal.h Cycles: fix crash in SSE hair and half-floats on x86+vc2008 2014-02-27 15:01:20 +04:00
kernel_bvh.h Cycles: fix crash in SSE hair and half-floats on x86+vc2008 2014-02-27 15:01:20 +04:00
kernel_camera.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_compat_cpu.h Add support for multiple interpolation modes on cycles image textures 2014-03-07 23:16:33 +01:00
kernel_compat_cuda.h Code cleanup: move half float functions to separate header file. 2014-01-15 15:29:22 +01:00
kernel_compat_opencl.h Code cleanup: move half float functions to separate header file. 2014-01-15 15:29:22 +01:00
kernel_curve.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_differential.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_displace.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_emission.h Fix T36979: wrong render of textured mesh lights with multiple importance sampling. 2014-02-07 15:09:34 +01:00
kernel_film.h Cycles: fix crash in SSE hair and half-floats on x86+vc2008 2014-02-27 15:01:20 +04:00
kernel_globals.h Fix T37264: cycles CPU render had limited number of float images, bumped to 1024. 2013-12-14 15:07:46 +01:00
kernel_jitter.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_light.h Code Cleanup for __HAIR__ defines. 2014-03-09 12:48:58 +01:00
kernel_math.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
kernel_montecarlo.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_object.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_passes.h Cycles: add pass alpha threshold value to render layers. 2014-02-06 15:24:15 +01:00
kernel_path_state.h Fix volume scatter render issue introduced by recent bugfix. 2014-03-04 17:19:58 +01:00
kernel_path.h Cycles: Option to Sample all Lights in the Branched Path integrator for indirect samples 2014-03-09 22:20:01 +01:00
kernel_primitive.h Cycles Volume Render: generated texture coordinates for volume render. 2013-12-31 17:38:26 +01:00
kernel_projection.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_random.h Fix T38710: volume render issue with transparent surfaces. 2014-02-26 18:47:50 +01:00
kernel_shader.h Fix CUDA/OpenCL compile errors in scattering commit. 2014-01-07 15:48:04 +01:00
kernel_shadow.h Cycles Volume Render: heterogeneous (textured) volumes support. 2013-12-30 00:04:02 +01:00
kernel_sse2.cpp Code cleanup: some reshuffling of SIMD defines moving more code to util_optimization.h. 2014-01-15 15:11:50 +01:00
kernel_sse3.cpp Code cleanup: some reshuffling of SIMD defines moving more code to util_optimization.h. 2014-01-15 15:11:50 +01:00
kernel_sse41.cpp Code cleanup: some reshuffling of SIMD defines moving more code to util_optimization.h. 2014-01-15 15:11:50 +01:00
kernel_subsurface.h Code cleanup: white space and cmake was broken on all platforms 2014-02-03 13:56:34 +11:00
kernel_textures.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
kernel_triangle.h Fix T36979: wrong render of textured mesh lights with multiple importance sampling. 2014-02-07 15:09:34 +01:00
kernel_types.h Cycles: Option to Sample all Lights in the Branched Path integrator for indirect samples 2014-03-09 22:20:01 +01:00
kernel_volume.h Cleanup: Fix some typos in the code. 2014-03-01 01:21:46 +01:00
kernel.cl Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel.cpp Add support for multiple interpolation modes on cycles image textures 2014-03-07 23:16:33 +01:00
kernel.cu Cycles: viewport render now takes scene color management settings into account, 2013-08-30 23:49:38 +00:00
kernel.h Add support for multiple interpolation modes on cycles image textures 2014-03-07 23:16:33 +01:00
SConscript patch by liblib (lid b) 2014-01-27 11:43:41 +01:00