diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-01-12 15:44:35 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-01-12 15:44:35 +0300 |
commit | 53fa389802161e9e4ff6b5e0bfaa61cd4c761be6 (patch) | |
tree | 485ef4173d970eb3bf10ade844e4d23f4d8dcd56 /intern/cycles/kernel/kernel_debug.h | |
parent | 8daf02f134692b21e62649acf2906aed344a70ae (diff) |
Cycles: Use dedicated debug passes for traversed nodes and intersection tests
This way it's more clear whether some issue is caused by lots of geometry in
the node or by lots of "transparent" BVH nodes.
Diffstat (limited to 'intern/cycles/kernel/kernel_debug.h')
-rw-r--r-- | intern/cycles/kernel/kernel_debug.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/intern/cycles/kernel/kernel_debug.h b/intern/cycles/kernel/kernel_debug.h index 24d6458567e..5647bbae5b5 100644 --- a/intern/cycles/kernel/kernel_debug.h +++ b/intern/cycles/kernel/kernel_debug.h @@ -18,8 +18,9 @@ CCL_NAMESPACE_BEGIN ccl_device_inline void debug_data_init(DebugData *debug_data) { - debug_data->num_bvh_traversal_steps = 0; + debug_data->num_bvh_traversed_nodes = 0; debug_data->num_bvh_traversed_instances = 0; + debug_data->num_bvh_intersections = 0; debug_data->num_ray_bounces = 0; } @@ -30,16 +31,21 @@ ccl_device_inline void kernel_write_debug_passes(KernelGlobals *kg, int sample) { int flag = kernel_data.film.pass_flag; - if(flag & PASS_BVH_TRAVERSAL_STEPS) { - kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_traversal_steps, + if(flag & PASS_BVH_TRAVERSED_NODES) { + kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_traversed_nodes, sample, - debug_data->num_bvh_traversal_steps); + debug_data->num_bvh_traversed_nodes); } if(flag & PASS_BVH_TRAVERSED_INSTANCES) { kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_traversed_instances, sample, debug_data->num_bvh_traversed_instances); } + if(flag & PASS_BVH_INTERSECTIONS) { + kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_intersections, + sample, + debug_data->num_bvh_intersections); + } if(flag & PASS_RAY_BOUNCES) { kernel_write_pass_float(buffer + kernel_data.film.pass_ray_bounces, sample, |