diff options
Diffstat (limited to 'intern/cycles/render/nodes.h')
-rw-r--r-- | intern/cycles/render/nodes.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 4f4061286cb..51efbc37f38 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -311,7 +311,7 @@ class GlossyBsdfNode : public BsdfNode { public: SHADER_NODE_CLASS(GlossyBsdfNode) - void optimize(Scene *scene); + void simplify_settings(Scene *scene); bool has_integrator_dependency(); ustring distribution, distribution_orig; @@ -322,7 +322,7 @@ class GlassBsdfNode : public BsdfNode { public: SHADER_NODE_CLASS(GlassBsdfNode) - void optimize(Scene *scene); + void simplify_settings(Scene *scene); bool has_integrator_dependency(); ustring distribution, distribution_orig; @@ -333,7 +333,7 @@ class RefractionBsdfNode : public BsdfNode { public: SHADER_NODE_CLASS(RefractionBsdfNode) - void optimize(Scene *scene); + void simplify_settings(Scene *scene); bool has_integrator_dependency(); ustring distribution, distribution_orig; @@ -485,6 +485,8 @@ class ValueNode : public ShaderNode { public: SHADER_NODE_CLASS(ValueNode) + bool constant_fold(ShaderOutput *socket, float3 *optimized_value); + float value; }; @@ -492,6 +494,8 @@ class ColorNode : public ShaderNode { public: SHADER_NODE_CLASS(ColorNode) + bool constant_fold(ShaderOutput *socket, float3 *optimized_value); + float3 value; }; @@ -636,6 +640,7 @@ public: class BlackbodyNode : public ShaderNode { public: SHADER_NODE_CLASS(BlackbodyNode) + bool constant_fold(ShaderOutput *socket, float3 *optimized_value); virtual int get_group() { return NODE_GROUP_LEVEL_3; } }; @@ -644,6 +649,7 @@ class MathNode : public ShaderNode { public: SHADER_NODE_CLASS(MathNode) virtual int get_group() { return NODE_GROUP_LEVEL_1; } + bool constant_fold(ShaderOutput *socket, float3 *optimized_value); bool use_clamp; @@ -663,6 +669,7 @@ class VectorMathNode : public ShaderNode { public: SHADER_NODE_CLASS(VectorMathNode) virtual int get_group() { return NODE_GROUP_LEVEL_1; } + bool constant_fold(ShaderOutput *socket, float3 *optimized_value); ustring type; static ShaderEnum type_enum; @@ -700,6 +707,7 @@ public: virtual int get_group() { return NODE_GROUP_LEVEL_3; } float4 curves[RAMP_TABLE_SIZE]; + float min_x, max_x; }; class VectorCurvesNode : public ShaderNode { |