blender/intern/cycles/kernel/closure
Sergey Sharybin 69dc0c3192 Cycles: Fixes for Burley BSSRDF
There are several fixes in here, which hopefully will make the shader
working correct without too much magic in there.

First of all, this commit brings BURLEY_TRUNCATE down from 30 to 16
which reduces noise a lot. It's still higher than original truncate
from Brecht, but this reduces PDF value at a cutoff distance by an
order of magnitude (now it's 0.008387, previously it was 0.063521
for the albedo of 0.8 and radius 1.0). This should converge to a
proper result faster and don't have artifacts.

This kind of reverts fix for T47356, but after additional thinking
came to conclusion Burley is not being totally smooth, it is about
giving less waxy results which it's kind of doing in the file.

Second of all, this commit fixes burley_eval() to use normalized
diffusion reflectance. This matches the way we calculate CDF and
solves numeric instability close to 0, making PDF profile looking
closer to other SSS profiles:

  https://developer.blender.org/F282355
  https://developer.blender.org/F282356
  https://developer.blender.org/F282357

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D1792
2016-02-13 13:29:13 +01:00
..
bsdf_ashikhmin_shirley.h Cleanup: Code style. 2015-04-26 00:42:26 +02:00
bsdf_ashikhmin_velvet.h Cleanup: Code style. 2015-04-26 00:42:26 +02:00
bsdf_diffuse_ramp.h Fix T43926: Volume scatter: intersecting objects GPU rendering artifacts 2015-03-23 12:48:33 +05:00
bsdf_diffuse.h Fix T44123: Cycles SSS renders black in recent builds 2015-03-25 02:33:49 +05:00
bsdf_hair.h Cleanup for Cycles hair shader ifdefs. 2015-02-18 15:57:39 +01:00
bsdf_microfacet.h Cycles: Fix for transmissive microfacet sampling 2015-07-31 13:46:58 +02:00
bsdf_oren_nayar.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
bsdf_phong_ramp.h Fix T43926: Volume scatter: intersecting objects GPU rendering artifacts 2015-03-23 12:48:33 +05:00
bsdf_reflection.h Fix T44123: Cycles SSS renders black in recent builds 2015-03-25 02:33:49 +05:00
bsdf_refraction.h Fix T44123: Cycles SSS renders black in recent builds 2015-03-25 02:33:49 +05:00
bsdf_toon.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
bsdf_transparent.h Fix T44123: Cycles SSS renders black in recent builds 2015-03-25 02:33:49 +05:00
bsdf_util.h Comment out SVM fresnel_conductor() function for now, still unused. 2014-09-07 21:13:00 +02:00
bsdf.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
bssrdf.h Cycles: Fixes for Burley BSSRDF 2016-02-13 13:29:13 +01:00
emissive.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
volume.h Cycles: Simplify volume_phase_eval(). 2015-06-11 15:18:33 +02:00