diff options
Diffstat (limited to 'source/blender/nodes/shader/node_shader_tree.c')
-rw-r--r-- | source/blender/nodes/shader/node_shader_tree.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c index d0ae17914ca..a5dbfdc930e 100644 --- a/source/blender/nodes/shader/node_shader_tree.c +++ b/source/blender/nodes/shader/node_shader_tree.c @@ -209,16 +209,20 @@ void ntreeShaderEndExecTree(bNodeTreeExec *exec, int use_tree_data) void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr) { ShaderCallData scd; + float co[3] = {0.0f, 0.0f, 0.0f}; /* @note: preserve material from ShadeInput for material id, nodetree execs change it fix for bug "[#28012] Mat ID messy with shader nodes" */ - Material *mat = shi->mat; bNodeThreadStack *nts = NULL; + Material *mat = shi->mat; + bNodeThreadStack *nts = NULL; bNodeTreeExec *exec = ntree->execdata; /* convert caller data to struct */ + memset(&scd, 0, sizeof(scd)); scd.shi= shi; scd.shr= shr; + scd.co= co; /* each material node has own local shaderesult, with optional copying */ memset(shr, 0, sizeof(ShadeResult)); |