diff options
Diffstat (limited to 'intern/cycles/render/nodes.cpp')
-rw-r--r-- | intern/cycles/render/nodes.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index fd8410ce71b..e4f5885df0d 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -3177,6 +3177,13 @@ ValueNode::ValueNode() add_output("Value", SHADER_SOCKET_FLOAT); } +bool ValueNode::constant_fold(ShaderOutput *socket, float3 *optimized_value) +{ + *optimized_value = make_float3(value, value, value); + + return true; +} + void ValueNode::compile(SVMCompiler& compiler) { ShaderOutput *val_out = output("Value"); @@ -3201,6 +3208,13 @@ ColorNode::ColorNode() add_output("Color", SHADER_SOCKET_COLOR); } +bool ColorNode::constant_fold(ShaderOutput *socket, float3 *optimized_value) +{ + *optimized_value = value; + + return true; +} + void ColorNode::compile(SVMCompiler& compiler) { ShaderOutput *color_out = output("Color"); |