diff options
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r-- | intern/cycles/render/nodes.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 1efe4ae076d..0d9f84327d0 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -198,11 +198,13 @@ public: class BsdfNode : public ShaderNode { public: - SHADER_NODE_CLASS(BsdfNode) + BsdfNode(bool scattering = false); + SHADER_NODE_BASE_CLASS(BsdfNode); void compile(SVMCompiler& compiler, ShaderInput *param1, ShaderInput *param2, ShaderInput *param3 = NULL); ClosureType closure; + bool scattering; }; class WardBsdfNode : public BsdfNode { @@ -257,6 +259,12 @@ public: static ShaderEnum distribution_enum; }; +class SubsurfaceScatteringNode : public BsdfNode { +public: + SHADER_NODE_CLASS(SubsurfaceScatteringNode) + bool has_surface_bssrdf() { return true; } +}; + class EmissionNode : public ShaderNode { public: SHADER_NODE_CLASS(EmissionNode) |