blender/intern/cycles/kernel/svm
Brecht Van Lommel 8fbd71e5f2 Cycles: improved Beckmann sampling using precomputed data
It turns out that the new Beckmann sampling function doesn't work well with
Quasi Monte Carlo sampling, mainly near normal incidence where it can be worse
than the previous sampler. In the new sampler the random number pattern gets
split in two, warped and overlapped, which hurts the stratification, see the
visualization in the differential revision.

Now we use a precomputed table, which is much better behaved. GGX does not seem
to benefit from using a precomputed table.

Disadvantage is that this table adds 1MB of memory usage and 0.03s startup time
to every render (on my quad core CPU).

Differential Revision: https://developer.blender.org/D614
2014-06-21 22:31:44 +02:00
..
svm_attribute.h Cycles code internals: add support for mesh voxel grid attributes. 2014-03-29 13:03:48 +01:00
svm_blackbody.h Cycles: improved Beckmann sampling using precomputed data 2014-06-21 22:31:44 +02:00
svm_brick.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_brightness.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_camera.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_checker.h Fix T40692, Checker Texture derivation on very large scales (1k). 2014-06-20 09:03:22 +02:00
svm_closure.h Cycles: glossy and anisotropic BSDF changes 2014-06-14 13:49:57 +02:00
svm_convert.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_displace.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_fresnel.h Fix T38439: allow IOR in range [0, inf] instead of [1, inf] in Cycles. 2014-02-03 17:08:34 +01:00
svm_gamma.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_geometry.h Style cleanup: indentation, braces 2014-05-05 02:19:08 +10:00
svm_gradient.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_hsv.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_image.h Cycles: Add support for uchar4 attributes. 2014-06-13 23:40:54 +02:00
svm_invert.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_light_path.h Cycles: add Transparent Depth output to Light Path node. 2014-04-21 14:44:36 +02:00
svm_magic.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_mapping.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_math.h Nodes: add absolute value operation to all math nodes 2014-05-07 16:43:59 +02:00
svm_mix.h Code cleanup: Add -Werror=float-conversion to Cycles 2014-05-03 07:31:46 +10:00
svm_musgrave.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_noise.h Cycles Refactor: Add SSE Utility code from Embree for cleaner SSE code. 2014-06-13 21:59:12 +02:00
svm_noisetex.h Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already. 2014-01-13 21:17:55 +01:00
svm_normal.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_ramp.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_sepcomb_hsv.h Style cleanup: indentation, braces 2014-05-05 02:19:08 +10:00
svm_sepcomb_vector.h Code cleanup: Avoid duplicate functions for vector combination/separation in SVM. 2014-06-14 12:29:15 +02:00
svm_sky.h Code cleanup: Add -Werror=float-conversion to Cycles 2014-05-03 07:31:46 +10:00
svm_tex_coord.h Cycles code internals: add support for mesh voxel grid attributes. 2014-03-29 13:03:48 +01:00
svm_texture.h Cycles Refactor: Add SSE Utility code from Embree for cleaner SSE code. 2014-06-13 21:59:12 +02:00
svm_types.h Cycles: glossy and anisotropic BSDF changes 2014-06-14 13:49:57 +02:00
svm_value.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
svm_vector_transform.h Style cleanup: indentation, braces 2014-05-05 02:19:08 +10:00
svm_voronoi.h Cycles: SSE optimization for Voronoi cells texture 2014-04-03 23:35:10 +04:00
svm_wave.h Cycles: Fix Wave texture difference between OSL and SVM, OSL wasn't using the "Scale" properly for distortion. 2014-01-13 22:01:39 +01:00
svm_wavelength.h Code cleanup: Add -Werror=float-conversion to Cycles 2014-05-03 07:31:46 +10:00
svm_wireframe.h Style cleanup: indentation, braces 2014-05-05 02:19:08 +10:00
svm.h Code cleanup: Avoid duplicate functions for vector combination/separation in SVM. 2014-06-14 12:29:15 +02:00