Fix Cycles OSL image texture issue after recent refactor.
[blender.git] / intern / cycles / render / nodes.cpp
index 6530bff084824efd4f4fd19d2a03173dda5e19f3..478443f205cade8bbe42084ece43b898a7accb88 100644 (file)
@@ -397,7 +397,7 @@ void ImageTextureNode::compile(OSLCompiler& compiler)
                compiler.parameter("color_space", "sRGB");
        compiler.parameter(this, "projection");
        compiler.parameter(this, "projection_blend");
-       compiler.parameter(this, "is_float");
+       compiler.parameter("is_float", is_float);
        compiler.parameter("use_alpha", !alpha_out->links.empty());
        compiler.parameter(this, "interpolation");
        compiler.parameter(this, "extension");
@@ -1564,8 +1564,8 @@ NODE_DEFINE(RGBToBWNode)
 {
        NodeType* type = NodeType::add("rgb_to_bw", create, NodeType::SHADER);
 
-       SOCKET_IN_POINT(color, "Color", make_float3(0.0f, 0.0f, 0.0f));
-       SOCKET_OUT_POINT(val, "Val");
+       SOCKET_IN_COLOR(color, "Color", make_float3(0.0f, 0.0f, 0.0f));
+       SOCKET_OUT_FLOAT(val, "Val");
 
        return type;
 }
@@ -2985,7 +2985,7 @@ NODE_DEFINE(LightPathNode)
 
        SOCKET_OUT_FLOAT(is_camera_ray, "Is Camera Ray");
        SOCKET_OUT_FLOAT(is_shadow_ray, "Is Shadow Ray");
-       SOCKET_OUT_FLOAT(is_diffus_ray, "Is Diffus Ray");
+       SOCKET_OUT_FLOAT(is_diffuse_ray, "Is Diffuse Ray");
        SOCKET_OUT_FLOAT(is_glossy_ray, "Is Glossy Ray");
        SOCKET_OUT_FLOAT(is_singular_ray, "Is Singular Ray");
        SOCKET_OUT_FLOAT(is_reflection_ray, "Is Reflection Ray");
@@ -3761,7 +3761,7 @@ NODE_DEFINE(CombineXYZNode)
        SOCKET_IN_FLOAT(y, "Y", 0.0f);
        SOCKET_IN_FLOAT(z, "Z", 0.0f);
 
-       SOCKET_OUT_COLOR(color, "Image");
+       SOCKET_OUT_VECTOR(vector, "Vector");
 
        return type;
 }
@@ -4991,6 +4991,13 @@ OSLNode::~OSLNode()
        delete type;
 }
 
+ShaderNode *OSLNode::clone() const
+{
+       OSLNode *node = new OSLNode(*this);
+       node->type = new NodeType(*type);
+       return node;
+}
+
 OSLNode* OSLNode::create(size_t num_inputs)
 {
        /* allocate space for the node itself and parameters, aligned to 16 bytes