diff options
Diffstat (limited to 'intern/cycles/session')
-rw-r--r-- | intern/cycles/session/buffers.cpp | 6 | ||||
-rw-r--r-- | intern/cycles/session/buffers.h | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/intern/cycles/session/buffers.cpp b/intern/cycles/session/buffers.cpp index f9893ed1e1c..3bbc205ca7a 100644 --- a/intern/cycles/session/buffers.cpp +++ b/intern/cycles/session/buffers.cpp @@ -49,6 +49,7 @@ NODE_DEFINE(BufferPass) SOCKET_ENUM(mode, "Mode", *pass_mode_enum, static_cast<int>(PassMode::DENOISED)); SOCKET_STRING(name, "Name", ustring()); SOCKET_BOOLEAN(include_albedo, "Include Albedo", false); + SOCKET_STRING(lightgroup, "Light Group", ustring()); SOCKET_INT(offset, "Offset", -1); @@ -64,13 +65,14 @@ BufferPass::BufferPass(const Pass *scene_pass) type(scene_pass->get_type()), mode(scene_pass->get_mode()), name(scene_pass->get_name()), - include_albedo(scene_pass->get_include_albedo()) + include_albedo(scene_pass->get_include_albedo()), + lightgroup(scene_pass->get_lightgroup()) { } PassInfo BufferPass::get_info() const { - return Pass::get_info(type, include_albedo); + return Pass::get_info(type, include_albedo, !lightgroup.empty()); } /* -------------------------------------------------------------------- diff --git a/intern/cycles/session/buffers.h b/intern/cycles/session/buffers.h index 1c4ec81e427..a8278388a28 100644 --- a/intern/cycles/session/buffers.h +++ b/intern/cycles/session/buffers.h @@ -30,6 +30,7 @@ class BufferPass : public Node { PassMode mode = PassMode::NOISY; ustring name; bool include_albedo = false; + ustring lightgroup; int offset = -1; @@ -49,7 +50,8 @@ class BufferPass : public Node { inline bool operator==(const BufferPass &other) const { return type == other.type && mode == other.mode && name == other.name && - include_albedo == other.include_albedo && offset == other.offset; + include_albedo == other.include_albedo && lightgroup == other.lightgroup && + offset == other.offset; } inline bool operator!=(const BufferPass &other) const { |