blender/intern/cycles/kernel
Sergey Sharybin b03e66e75f Cycles: Implement unaligned nodes BVH builder
This is a special builder type which is allowed to orient nodes to
strands direction, hence minimizing their surface area in comparison
with axis-aligned nodes. Such nodes are much more efficient for hair
rendering.

Implementation of BVH builder is based on Embree, and generally idea
there is to calculate axis-aligned SAH and oriented SAH and if SAH
of oriented node is smaller than axis-aligned SAH we create unaligned
node.

We store both aligned and unaligned nodes in the same tree (which
seems to be different from what Embree is doing) so we don't have
any any extra calculations needed to set up hair ray for BVH
traversal, hence avoiding any possible negative effect of this new
BVH nodes type.

This new builder is currently not in use, still need to make BVH
traversal code aware of unaligned nodes.
2016-07-07 17:25:48 +02:00
..
closure Fix T48732: New GGX breaks OpenCL kernel 2016-06-28 17:15:35 +05:00
geom Cycles: Switch node address to absolute values in BVH tree 2016-07-07 17:25:48 +02:00
kernels Cycles: reduce CUDA stack memory access for Maxwell and up, increasing max registers. 2016-06-19 20:17:26 +02:00
osl Fix T48783: OSL render errors after recent refactoring. 2016-07-03 13:08:21 +02:00
shaders Fix T48783: OSL render errors after recent refactoring. 2016-07-03 13:08:21 +02:00
split Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
svm Fix Cycles OpenCL not taking Extend and Clip extension types into account. 2016-07-01 23:48:31 +02:00
CMakeLists.txt Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_accumulate.h Fix T47461: Different results on CPU and GPU when using Branched Path Tracing 2016-02-18 01:23:38 +01:00
kernel_bake.h Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_camera.h Cycles: Cleanup, indent nested preprocessor directives 2016-03-25 13:55:42 +01:00
kernel_compat_cpu.h Cycles: Support half and half4 textures. 2016-06-19 17:31:16 +02:00
kernel_compat_cuda.h Cycles: Add support for bindless textures. 2016-05-19 13:14:37 +02:00
kernel_compat_opencl.h Cycles: Cleanup, indent nested preprocessor directives 2016-03-25 13:55:42 +01:00
kernel_debug.h Cycles: Add debug pass which shows number of instance pushes during camera ray intersection 2015-06-12 00:12:03 +02:00
kernel_differential.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_emission.h Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_film.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
kernel_globals.h Cycles: Support half and half4 textures. 2016-06-19 17:31:16 +02:00
kernel_jitter.h Fix T48301: Cycles incorrect render with CMJ and viewport samples 0. 2016-04-28 23:57:20 +02:00
kernel_light.h Cleanup: comment blocks 2016-07-02 10:08:33 +10:00
kernel_math.h Cleanup: Move texture definitions to util, to avoid bad level include. 2016-04-15 23:02:44 +02:00
kernel_montecarlo.h Cycles code refactor: minor refactoring and comments for volume code. 2014-03-29 13:03:49 +01:00
kernel_passes.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_path_branched.h Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_path_common.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_path_state.h Cycles CUDA: reduce stack memory by reusing ShaderData. 2016-05-23 22:29:24 +02:00
kernel_path_surface.h Cycles CUDA: reduce stack memory by reusing ShaderData. 2016-05-23 22:29:24 +02:00
kernel_path_volume.h Cycles CUDA: reduce stack memory by reusing ShaderData. 2016-05-23 22:29:24 +02:00
kernel_path.h Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_projection.h Cycles: Pole merging for spherical stereo 2016-05-18 10:56:57 +02:00
kernel_queues.h Cycles: Code cleanup in split kernel, whitespaces 2015-07-03 11:03:56 +02:00
kernel_random.h Fix T48732: New GGX breaks OpenCL kernel 2016-06-28 17:15:35 +05:00
kernel_shader.h Fix T48732: New GGX breaks OpenCL kernel 2016-06-28 17:15:35 +05:00
kernel_shadow.h Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_subsurface.h Cycles: Add multi-scattering, energy-conserving GGX as an option to the Glossy, Anisotropic and Glass BSDFs 2016-06-23 22:57:26 +02:00
kernel_textures.h Cycles: Reduce memory usage by de-duplicating triangle storage 2016-07-07 17:25:48 +02:00
kernel_types.h Cycles: Implement unaligned nodes BVH builder 2016-07-07 17:25:48 +02:00
kernel_volume.h Cycles: Fix two numerical issues in the volume code 2016-06-08 03:17:19 +02:00
kernel_work_stealing.h Cycles: Cleanup, indent nested preprocessor directives 2016-03-25 13:55:42 +01:00
kernel.h Cycles: Deduplicte CPU kernel declaration and definition code 2015-12-30 17:54:02 +05:00