blender/intern/cycles/kernel
Brecht Van Lommel a466d7ae24 Cycles: better distance sampling for chromatic volume extinction.
Previously we picked one of the RGB channels with equal probability, but this
works poorly in a dense volume after many bounces. Now we take into account
the throughput and single scattering albedo.

This makes it a little more practical to do brute force SSS with volumes, but
is still very inefficient because we do direct light sampling at every volume
bounce even when inside an opaque mesh. In theory there could be a light inside
the mesh so we can't automatically disable direct lighting.
2017-11-10 01:37:10 +01:00
..
bvh Code refactor: rename subsurface to local traversal, for reuse. 2017-11-07 22:35:12 +01:00
closure Fix T53270: crash with multiscatter GGX after recent refactoring. 2017-11-09 20:28:00 +01:00
filter Code refactor: use split variance calculation for mega kernels too. 2017-10-04 21:11:14 +02:00
geom Cycles: add bevel shader, for raytrace based rounded edges. 2017-11-07 22:35:12 +01:00
kernels Code refactor: device memory cleanups, preparing for mapped host memory. 2017-11-05 15:22:04 +01:00
osl Fix T53270: crash with multiscatter GGX after recent refactoring. 2017-11-09 20:28:00 +01:00
shaders Cycles: add bevel shader, for raytrace based rounded edges. 2017-11-07 22:35:12 +01:00
split Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable 2017-11-09 01:04:06 -05:00
svm Fix T53270: crash with multiscatter GGX after recent refactoring. 2017-11-09 20:28:00 +01:00
CMakeLists.txt Cycles: add bevel shader, for raytrace based rounded edges. 2017-11-07 22:35:12 +01:00
kernel_accumulate.h Fix T53012: Shadow catcher creates artifacts on contact area 2017-10-06 17:27:34 +05:00
kernel_bake.h Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable 2017-11-09 01:04:06 -05:00
kernel_camera.h Cycles: Remove ccl_fetch and SOA 2017-03-08 00:52:41 -05:00
kernel_compat_cpu.h Code refactor: make texture code more consistent between devices. 2017-10-07 14:53:14 +02:00
kernel_compat_cuda.h Code refactor: make texture code more consistent between devices. 2017-10-07 14:53:14 +02:00
kernel_compat_opencl.h Code refactor: make texture code more consistent between devices. 2017-10-07 14:53:14 +02:00
kernel_differential.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_emission.h Cycles: reduce closure memory usage for emission/shadow shader data. 2017-11-05 20:48:33 +01:00
kernel_film.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
kernel_globals.h Code refactor: make texture code more consistent between devices. 2017-10-07 14:53:14 +02:00
kernel_jitter.h Cycles: Use more stable version of integer square root function 2017-05-09 17:07:17 +02:00
kernel_light.h Fix incorrect MIS weights in Cycles with multiple lights. 2017-11-07 22:35:12 +01:00
kernel_math.h Cycles: Make all #include statements relative to cycles source directory 2017-03-29 13:41:11 +02:00
kernel_montecarlo.h Cycles: Cleanup, indendation 2017-10-06 19:33:59 +05:00
kernel_passes.h Cycles: Cleanup, indentation and wrapping 2017-10-06 16:54:37 +05:00
kernel_path_branched.h Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable 2017-11-09 01:04:06 -05:00
kernel_path_common.h Code refactor: remove rng_state buffer and compute hash on the fly. 2017-10-04 21:11:14 +02:00
kernel_path_state.h Code cleanup: remove hack to avoid seeing transparent objects in noise. 2017-09-20 19:38:08 +02:00
kernel_path_subsurface.h Code refactor: rename subsurface to local traversal, for reuse. 2017-11-07 22:35:12 +01:00
kernel_path_surface.h Cycles: reduce subsurface stack memory usage. 2017-09-28 15:18:43 +02:00
kernel_path_volume.h Cycles: reduce subsurface stack memory usage. 2017-09-28 15:18:43 +02:00
kernel_path.h Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable 2017-11-09 01:04:06 -05:00
kernel_projection.h Cycles: Implement denoising option for reducing noise in the rendered image 2017-05-07 14:40:58 +02:00
kernel_queues.h Cycles: Add function to dequeue a ray 2017-06-10 03:51:18 -04:00
kernel_random.h Cycles: restore SOBOL_SKIP hack, for some cases where it helps still. 2017-10-29 16:44:20 +01:00
kernel_shader.h Code refactor: rename subsurface to local traversal, for reuse. 2017-11-07 22:35:12 +01:00
kernel_shadow.h Cycles: reduce closure memory usage for emission/shadow shader data. 2017-11-05 20:48:33 +01:00
kernel_subsurface.h Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable 2017-11-09 01:04:06 -05:00
kernel_textures.h Code refactor: make texture code more consistent between devices. 2017-10-07 14:53:14 +02:00
kernel_types.h Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable 2017-11-09 01:04:06 -05:00
kernel_volume.h Cycles: better distance sampling for chromatic volume extinction. 2017-11-10 01:37:10 +01:00
kernel_work_stealing.h Code refactor: add WorkTile struct for passing work to kernel. 2017-10-04 21:11:14 +02:00
kernel.h Code refactor: device memory cleanups, preparing for mapped host memory. 2017-11-05 15:22:04 +01:00