Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/shader/nodes/node_shader_vertex_color.cc
| Show All 36 Lines | |||||
| static int node_shader_gpu_vertex_color(GPUMaterial *mat, | static int node_shader_gpu_vertex_color(GPUMaterial *mat, | ||||
| bNode *node, | bNode *node, | ||||
| bNodeExecData *UNUSED(execdata), | bNodeExecData *UNUSED(execdata), | ||||
| GPUNodeStack *in, | GPUNodeStack *in, | ||||
| GPUNodeStack *out) | GPUNodeStack *out) | ||||
| { | { | ||||
| NodeShaderVertexColor *vertexColor = (NodeShaderVertexColor *)node->storage; | NodeShaderVertexColor *vertexColor = (NodeShaderVertexColor *)node->storage; | ||||
| GPUNodeLink *vertexColorLink = GPU_attribute(mat, CD_PROP_COLOR, vertexColor->layer_name); | /* NOTE: using CD_AUTO_FROM_NAME instead of CD_MCOL or CD_PROP_COLOR as geometry nodes may | ||||
| * overwrite data which will also change the CustomDataType. This will also make EEVEE and Cycles | |||||
| * consistent. See T93179. */ | |||||
| GPUNodeLink *vertexColorLink = GPU_attribute(mat, CD_AUTO_FROM_NAME, vertexColor->layer_name); | |||||
| return GPU_stack_link(mat, node, "node_vertex_color", in, out, vertexColorLink); | return GPU_stack_link(mat, node, "node_vertex_color", in, out, vertexColorLink); | ||||
| } | } | ||||
| } // namespace blender::nodes::node_shader_vertex_color_cc | } // namespace blender::nodes::node_shader_vertex_color_cc | ||||
| void register_node_type_sh_vertex_color() | void register_node_type_sh_vertex_color() | ||||
| { | { | ||||
| namespace file_ns = blender::nodes::node_shader_vertex_color_cc; | namespace file_ns = blender::nodes::node_shader_vertex_color_cc; | ||||
| Show All 13 Lines | |||||