diff options
Diffstat (limited to 'intern/cycles/render/nodes.cpp')
-rw-r--r-- | intern/cycles/render/nodes.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp index 7d485fa3f03..f3d420c6fcb 100644 --- a/intern/cycles/render/nodes.cpp +++ b/intern/cycles/render/nodes.cpp @@ -6091,6 +6091,9 @@ NODE_DEFINE(VectorMathNode) type_enum.insert("cross_product", NODE_VECTOR_MATH_CROSS_PRODUCT); type_enum.insert("project", NODE_VECTOR_MATH_PROJECT); type_enum.insert("reflect", NODE_VECTOR_MATH_REFLECT); + type_enum.insert("refract", NODE_VECTOR_MATH_REFRACT); + type_enum.insert("faceforward", NODE_VECTOR_MATH_FACEFORWARD); + type_enum.insert("dot_product", NODE_VECTOR_MATH_DOT_PRODUCT); type_enum.insert("distance", NODE_VECTOR_MATH_DISTANCE); @@ -6151,24 +6154,24 @@ void VectorMathNode::compile(SVMCompiler &compiler) { ShaderInput *vector1_in = input("Vector1"); ShaderInput *vector2_in = input("Vector2"); - ShaderInput *scale_in = input("Scale"); + ShaderInput *param1_in = input("Scale"); ShaderOutput *value_out = output("Value"); ShaderOutput *vector_out = output("Vector"); int vector1_stack_offset = compiler.stack_assign(vector1_in); int vector2_stack_offset = compiler.stack_assign(vector2_in); - int scale_stack_offset = compiler.stack_assign(scale_in); + int param1_stack_offset = compiler.stack_assign(param1_in); int value_stack_offset = compiler.stack_assign_if_linked(value_out); int vector_stack_offset = compiler.stack_assign_if_linked(vector_out); /* 3 Vector Operators */ - if (math_type == NODE_VECTOR_MATH_WRAP) { + if (math_type == NODE_VECTOR_MATH_WRAP || math_type == NODE_VECTOR_MATH_FACEFORWARD) { ShaderInput *vector3_in = input("Vector3"); int vector3_stack_offset = compiler.stack_assign(vector3_in); compiler.add_node( NODE_VECTOR_MATH, math_type, - compiler.encode_uchar4(vector1_stack_offset, vector2_stack_offset, scale_stack_offset), + compiler.encode_uchar4(vector1_stack_offset, vector2_stack_offset, param1_stack_offset), compiler.encode_uchar4(value_stack_offset, vector_stack_offset)); compiler.add_node(vector3_stack_offset); } @@ -6176,7 +6179,7 @@ void VectorMathNode::compile(SVMCompiler &compiler) compiler.add_node( NODE_VECTOR_MATH, math_type, - compiler.encode_uchar4(vector1_stack_offset, vector2_stack_offset, scale_stack_offset), + compiler.encode_uchar4(vector1_stack_offset, vector2_stack_offset, param1_stack_offset), compiler.encode_uchar4(value_stack_offset, vector_stack_offset)); } } |