Cycles: tweak some folding tests to avoid unnecessary type conversion.

It's easy to connect a simple value to output without forcing
conversion to color by using the Strength socket of Emission.
This commit is contained in:
Alexander Gavrilov 2016-08-02 12:08:04 +03:00
parent de3181bc38
commit ca6f53d15e

@ -140,6 +140,14 @@ public:
.output_closure("EmissionNode::Emission"); .output_closure("EmissionNode::Emission");
} }
ShaderGraphBuilder& output_value(const string& from)
{
return (*this)
.add_node(ShaderNodeBuilder<EmissionNode>("EmissionNode"))
.add_connection(from, "EmissionNode::Strength")
.output_closure("EmissionNode::Emission");
}
protected: protected:
ShaderGraph *graph_; ShaderGraph *graph_;
map<string, ShaderNode *> node_map_; map<string, ShaderNode *> node_map_;
@ -955,7 +963,7 @@ TEST(render_graph, constant_fold_math)
.set(&MathNode::use_clamp, false) .set(&MathNode::use_clamp, false)
.set("Value1", 0.7f) .set("Value1", 0.7f)
.set("Value2", 0.9f)) .set("Value2", 0.9f))
.output_color("Math::Value"); .output_value("Math::Value");
graph.finalize(&scene); graph.finalize(&scene);
} }
@ -976,7 +984,7 @@ TEST(render_graph, constant_fold_math_clamp)
.set(&MathNode::use_clamp, true) .set(&MathNode::use_clamp, true)
.set("Value1", 0.7f) .set("Value1", 0.7f)
.set("Value2", 0.9f)) .set("Value2", 0.9f))
.output_color("Math::Value"); .output_value("Math::Value");
graph.finalize(&scene); graph.finalize(&scene);
} }
@ -1007,7 +1015,7 @@ static void build_math_partial_test_graph(ShaderGraphBuilder &builder, NodeMath
.set(&MathNode::use_clamp, true)) .set(&MathNode::use_clamp, true))
.add_connection("Math_Cx::Value", "Out::Value1") .add_connection("Math_Cx::Value", "Out::Value1")
.add_connection("Math_xC::Value", "Out::Value2") .add_connection("Math_xC::Value", "Out::Value2")
.output_color("Out::Value"); .output_value("Out::Value");
} }
/* /*