diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-03-26 16:45:14 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-03-26 16:45:14 +0400 |
commit | bbc3d820f44ca62810c1800cf7caa3905b6116a6 (patch) | |
tree | 3cb45928cc5e8e758b3cabd18ebe79a763f162d5 /intern/cycles/blender/blender_shader.cpp | |
parent | 56baed13da0e3cf1206afd17f65bba00ec4a287c (diff) |
Cycles: add ColorRamp node.
Diffstat (limited to 'intern/cycles/blender/blender_shader.cpp')
-rw-r--r-- | intern/cycles/blender/blender_shader.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 5c26a4d2163..bea434bb7b6 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -105,7 +105,6 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Shader switch(b_node.type()) { /* not supported */ - case BL::ShaderNode::type_CURVE_RGB: break; case BL::ShaderNode::type_CURVE_VEC: break; case BL::ShaderNode::type_GEOMETRY: break; case BL::ShaderNode::type_MATERIAL: break; @@ -114,10 +113,21 @@ static ShaderNode *add_node(BL::BlendData b_data, ShaderGraph *graph, BL::Shader case BL::ShaderNode::type_SCRIPT: break; case BL::ShaderNode::type_SQUEEZE: break; case BL::ShaderNode::type_TEXTURE: break; - case BL::ShaderNode::type_VALTORGB: break; /* handled outside this function */ case BL::ShaderNode::type_GROUP: break; /* existing blender nodes */ + case BL::ShaderNode::type_CURVE_RGB: { + RGBCurvesNode *ramp = new RGBCurvesNode(); + node = ramp; + break; + } + case BL::ShaderNode::type_VALTORGB: { + RGBRampNode *ramp = new RGBRampNode(); + BL::ShaderNodeValToRGB b_ramp_node(b_node); + colorramp_to_array(b_ramp_node.color_ramp(), ramp->ramp, RAMP_TABLE_SIZE); + node = ramp; + break; + } case BL::ShaderNode::type_RGB: { ColorNode *color = new ColorNode(); color->value = get_node_output_rgba(b_node, "Color"); |