/* * Copyright 2011-2013 Blender Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "stdcycles.h" shader node_vertex_color(string bump_offset = "center", string layer_name = "", output color Color = 0.0, output float Alpha = 0.0) { float vertex_color[4]; string vertex_color_layer; if (layer_name == "") { vertex_color_layer = "geom:vertex_color"; } else { vertex_color_layer = layer_name; } if (getattribute(vertex_color_layer, vertex_color)) { Color = color(vertex_color[0], vertex_color[1], vertex_color[2]); Alpha = vertex_color[3]; if (bump_offset == "dx") { Color += Dx(Color); Alpha += Dx(Alpha); } else if (bump_offset == "dy") { Color += Dy(Color); Alpha += Dy(Alpha); } } else { warning("%s", "Invalid attribute."); } }