blender/intern/cycles/kernel/svm
Brecht Van Lommel de9dffc61e Cycles: initial subsurface multiple scattering support. It's not working as
well as I would like, but it works, just add a subsurface scattering node and
you can use it like any other BSDF.

It is using fully raytraced sampling compatible with progressive rendering
and other more advanced rendering algorithms we might used in the future, and
it uses no extra memory so it's suitable for complex scenes.

Disadvantage is that it can be quite noisy and slow. Two limitations that will
be solved are that it does not work with bump mapping yet, and that the falloff
function used is a simple cubic function, it's not using the real BSSRDF
falloff function yet.

The node has a color input, along with a scattering radius for each RGB color
channel along with an overall scale factor for the radii.

There is also no GPU support yet, will test if I can get that working later.

Node Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#BSSRDF

Implementation notes:
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/Subsurface_Scattering
2013-04-01 20:26:52 +00:00
..
svm_attribute.h Fix CUDA build error after last commit, and remove some comments. 2013-01-03 13:18:35 +00:00
svm_brick.h Fix cycles CUDA sm 1.3 build with 32 bit compiler, tweaked voronoi 2012-11-30 07:27:17 +00:00
svm_brightness.h Fix #30004: cycles brightness/contrast node issues. The formula used did not work 2012-02-08 17:09:30 +00:00
svm_camera.h Fix #30966: cycles nan mesh vertices got set to (0, 0, 0), now remove them instead. 2012-04-16 08:35:21 +00:00
svm_checker.h Cycles: small tweak to checker texture, scale rather than add with epsilon, 2012-01-09 16:57:26 +00:00
svm_closure.h Cycles: initial subsurface multiple scattering support. It's not working as 2013-04-01 20:26:52 +00:00
svm_convert.h Integer socket support in Cycles. Int values are already supported natively in OSL, but were not used as actual ints on the SVM stack. This patch implements all the necessary functionality to support reading input values from RNA properties and convert between SHADER_SOCKET_INT and other types. 2012-10-20 13:11:45 +00:00
svm_displace.h Cycles: per-BSDF normal input and new Bump node. 2012-10-10 15:56:43 +00:00
svm_fresnel.h Cycles/ Layer Weight Node: 2012-10-19 13:51:37 +00:00
svm_gamma.h Cycles: remove a few usages of double, to fix opencl warnings. 2012-04-30 10:03:13 +00:00
svm_geometry.h Cycles Hair: refactoring to store curves with the index of the first key and the 2013-01-03 12:09:09 +00:00
svm_gradient.h style cleanup: assignment & indentation. 2012-06-09 18:56:12 +00:00
svm_hsv.h Fix #33267: cycles math node power gave different results for CPU and GPU. The 2012-11-23 17:39:41 +00:00
svm_image.h Cycles: fix crash rendering textured objects in OpenCL 2012-11-05 08:05:24 +00:00
svm_invert.h Invert Color Cycles Node 2011-12-03 23:05:35 +00:00
svm_light_path.h Cycles: add light falloff node, with quadratic/linear/constant falloff and a 2012-05-07 20:24:38 +00:00
svm_magic.h style cleanup: assignment & indentation. 2012-06-09 18:56:12 +00:00
svm_mapping.h Cycles: add light falloff node, with quadratic/linear/constant falloff and a 2012-05-07 20:24:38 +00:00
svm_math.h Cycles OSL: diffuse_toon and specular_toon closures. These are toon shaders with 2012-12-19 21:17:16 +00:00
svm_mix.h clamp for Mix node 2012-08-30 06:31:02 +00:00
svm_musgrave.h code cleanup: quiet all warnings about double promotion (either by changing the type or explicitly casting). 2012-06-09 17:45:22 +00:00
svm_noise.h Cycles: different fix for perlin noise generating nan values, now check for 2013-01-09 22:06:03 +00:00
svm_noisetex.h Cycles / OSL: 2012-06-02 21:34:25 +00:00
svm_normal.h Fix #29715: cycles and glsl normal node not working correct. 2011-12-28 19:42:22 +00:00
svm_ramp.h Cycles: RGB and Vector Curves nodes now supported, with the limitation that the 2012-12-11 14:39:37 +00:00
svm_sepcomb_rgb.h cycles separateRGB: fix for cuda kernel building. 2011-12-02 07:13:48 +00:00
svm_sky.h Cycles: some steps to getting OpenCL backend to compile. 2011-05-20 12:26:01 +00:00
svm_tex_coord.h Fix #33830: cycles normal mapping was not quite correct, was not correctly 2013-01-15 16:35:05 +00:00
svm_texture.h Fix cycles CUDA sm 1.3 build with 32 bit compiler, tweaked voronoi 2012-11-30 07:27:17 +00:00
svm_types.h Cycles: initial subsurface multiple scattering support. It's not working as 2013-04-01 20:26:52 +00:00
svm_value.h Cycles render engine, initial commit. This is the engine itself, blender modifications and build instructions will follow later. 2011-04-27 11:58:34 +00:00
svm_voronoi.h Fix cycles CUDA sm 1.3 build with 32 bit compiler, tweaked voronoi 2012-11-30 07:27:17 +00:00
svm_wave.h style cleanup: assignment & indentation. 2012-06-09 18:56:12 +00:00
svm.h New feature 2012-12-28 14:21:30 +00:00