diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2020-02-18 19:19:16 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2020-02-19 14:10:33 +0300 |
commit | 65ea5020c4a1647bcacd4933dc9e5fc519982536 (patch) | |
tree | 5ec266a21726fc63720b07bf7d407015fb9f6bdf /intern/cycles/kernel/shaders | |
parent | 3b01dbdeb14a9deca0857ca6c3b038840fb96388 (diff) |
Fix T73938: Cycles Vertex Color wrong if no layer is specified
The node would render black in this case (but should use the
'active_render' layer choosen in the object data properties -- this is
now in line to how this is handled for e.g. UVs)
This introduces ATTR_STD_VERTEX_COLOR and uses this thoughout, if no
particular layer is specified in the node.
Maniphest Tasks: T73938
Differential Revision: https://developer.blender.org/D6887
Diffstat (limited to 'intern/cycles/kernel/shaders')
-rw-r--r-- | intern/cycles/kernel/shaders/node_vertex_color.osl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/intern/cycles/kernel/shaders/node_vertex_color.osl b/intern/cycles/kernel/shaders/node_vertex_color.osl index 70843b5543a..ffaf7a2f720 100644 --- a/intern/cycles/kernel/shaders/node_vertex_color.osl +++ b/intern/cycles/kernel/shaders/node_vertex_color.osl @@ -22,7 +22,16 @@ shader node_vertex_color(string bump_offset = "center", output float Alpha = 0.0) { float vertex_color[4]; - if (getattribute(layer_name, vertex_color)) { + 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]; |