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 /source/blender | |
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 'source/blender')
-rw-r--r-- | source/blender/makesrna/intern/rna_render.c | 11 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 3 | ||||
-rw-r--r-- | source/blender/render/intern/source/render_result.c | 6 |
3 files changed, 14 insertions, 6 deletions
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c index d69ae2b78bb..518c7efd915 100644 --- a/source/blender/makesrna/intern/rna_render.c +++ b/source/blender/makesrna/intern/rna_render.c @@ -78,9 +78,14 @@ EnumPropertyItem rna_enum_render_pass_type_items[] = { }; EnumPropertyItem rna_enum_render_pass_debug_type_items[] = { - {RENDER_PASS_DEBUG_BVH_TRAVERSAL_STEPS, "BVH_TRAVERSAL_STEPS", 0, "BVH Traversal Steps", ""}, - {RENDER_PASS_DEBUG_BVH_TRAVERSED_INSTANCES, "BVH_TRAVERSED_INSTANCES", 0, "BVH Traversed Instances", ""}, - {RENDER_PASS_DEBUG_RAY_BOUNCES, "RAY_BOUNCES", 0, "Ray Steps", ""}, + {RENDER_PASS_DEBUG_BVH_TRAVERSED_NODES, "BVH_TRAVERSED_NODES", 0, "BVH Traversed Nodes", + "Number of nodes traversed in BVH for the camera rays"}, + {RENDER_PASS_DEBUG_BVH_TRAVERSED_INSTANCES, "BVH_TRAVERSED_INSTANCES", 0, "BVH Traversed Instances", + "Number of BVH instances traversed by camera rays"}, + {RENDER_PASS_DEBUG_BVH_INTERSECTIONS, "BVH_INTERSECTIONS", 0, "BVH Intersections", + "Number of primitive intersections performed by the camera rays"}, + {RENDER_PASS_DEBUG_RAY_BOUNCES, "RAY_BOUNCES", 0, "Ray Steps", + "Number of bounces done by the main integration loop"}, {0, NULL, 0, NULL, NULL} }; diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 7021477a702..f535aa5aa71 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -97,9 +97,10 @@ typedef struct RenderPass { } RenderPass; enum { - RENDER_PASS_DEBUG_BVH_TRAVERSAL_STEPS = 0, + RENDER_PASS_DEBUG_BVH_TRAVERSED_NODES = 0, RENDER_PASS_DEBUG_BVH_TRAVERSED_INSTANCES = 1, RENDER_PASS_DEBUG_RAY_BOUNCES = 2, + RENDER_PASS_DEBUG_BVH_INTERSECTIONS = 3, }; /* a renderlayer is a full image, but with all passes and samples */ diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index 2be6238eeec..f276c01e86a 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -550,10 +550,12 @@ RenderPass *gp_add_pass(RenderResult *rr, RenderLayer *rl, int channels, int pas const char *RE_debug_pass_name_get(int debug_type) { switch (debug_type) { - case RENDER_PASS_DEBUG_BVH_TRAVERSAL_STEPS: - return "BVH Traversal Steps"; + case RENDER_PASS_DEBUG_BVH_TRAVERSED_NODES: + return "BVH Traversed Nodes"; case RENDER_PASS_DEBUG_BVH_TRAVERSED_INSTANCES: return "BVH Traversed Instances"; + case RENDER_PASS_DEBUG_BVH_INTERSECTIONS: + return "BVH Primitive Intersections"; case RENDER_PASS_DEBUG_RAY_BOUNCES: return "Ray Bounces"; } |