diff --git a/source/blender/compositor/operations/COM_RenderLayersProg.cpp b/source/blender/compositor/operations/COM_RenderLayersProg.cpp index ad0ce3a6fc7..e7ce50f89fd 100644 --- a/source/blender/compositor/operations/COM_RenderLayersProg.cpp +++ b/source/blender/compositor/operations/COM_RenderLayersProg.cpp @@ -391,8 +391,26 @@ RenderLayersUVOperation::RenderLayersUVOperation() : RenderLayersBaseProg(SCE_PA /* ******** Debug Render Layers Cycles Operation ******** */ +#ifdef WITH_CYCLES_DEBUG + RenderLayersCyclesDebugOperation::RenderLayersCyclesDebugOperation(int pass) : RenderLayersBaseProg(pass, 1) { this->addOutputSocket(COM_DT_VALUE); } + +void RenderLayersCyclesDebugOperation::setScene(Scene *scene) +{ + RenderLayersBaseProg::setScene(scene); + switch (m_scene->r.debug_pass_type) { + case RENDER_PASS_DEBUG_BVH_TRAVERSAL_STEPS: + case RENDER_PASS_DEBUG_BVH_TRAVERSED_INSTANCES: + case RENDER_PASS_DEBUG_RAY_BOUNCES: + this->m_elementsize = 1; + default: + fprintf(stderr, "Unknown element size for debug pass"); + abort(); + } +} + +#endif diff --git a/source/blender/compositor/operations/COM_RenderLayersProg.h b/source/blender/compositor/operations/COM_RenderLayersProg.h index 8930753d7a3..edefd9aeb18 100644 --- a/source/blender/compositor/operations/COM_RenderLayersProg.h +++ b/source/blender/compositor/operations/COM_RenderLayersProg.h @@ -41,7 +41,7 @@ extern "C" { * @todo: rename to operation. */ class RenderLayersBaseProg : public NodeOperation { -private: +protected: /** * Reference to the scene object. */ @@ -74,7 +74,6 @@ private: */ const RenderData *m_rd; -protected: /** * Constructor */ @@ -213,9 +212,12 @@ public: RenderLayersUVOperation(); }; +#ifdef WITH_CYCLES_DEBUG class RenderLayersCyclesDebugOperation : public RenderLayersBaseProg { public: RenderLayersCyclesDebugOperation(int pass); + void setScene(Scene *scene); }; +#endif #endif diff --git a/source/blender/nodes/composite/nodes/node_composite_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c index 1985037c5ce..208c1f84387 100644 --- a/source/blender/nodes/composite/nodes/node_composite_image.c +++ b/source/blender/nodes/composite/nodes/node_composite_image.c @@ -74,7 +74,7 @@ static bNodeSocketTemplate cmp_node_rlayers_out[] = { { SOCK_RGBA, 0, N_("Subsurface Indirect"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, { SOCK_RGBA, 0, N_("Subsurface Color"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, #ifdef WITH_CYCLES_DEBUG - { SOCK_FLOAT, 0, N_("Debug"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, + { SOCK_RGBA, 0, N_("Debug"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}, #endif { -1, 0, "" } };