diff options
author | Ton Roosendaal <ton@blender.org> | 2009-05-26 17:46:08 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-05-26 17:46:08 +0400 |
commit | 33304d022d7f43eb1319fe7e9db33ec6559c275d (patch) | |
tree | b348b506905458c142ebd4a27cb9d681fb96ecdb /source/blender/nodes | |
parent | 137b3e1dc519bef99bad4201e9374346877bbe40 (diff) |
Bugfix #18801
Third transparent shadow bug... this time it's a Material Node, which
has mirror + transp-shadow on, and when it traces its own material it
enters an eternal loop...
Raytracing + shading + materialnode combo really needs work!
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/intern/SHD_nodes/SHD_material.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_material.c b/source/blender/nodes/intern/SHD_nodes/SHD_material.c index c0a2534ac4a..69c2c0a345c 100644 --- a/source/blender/nodes/intern/SHD_nodes/SHD_material.c +++ b/source/blender/nodes/intern/SHD_nodes/SHD_material.c @@ -130,7 +130,9 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in, nodestack_get_vec(&shi->translucency, SOCK_VALUE, in[MAT_IN_TRANSLUCENCY]); } + shi->nodes= 1; /* temp hack to prevent trashadow recursion */ node_shader_lamp_loop(shi, &shrnode); /* clears shrnode */ + shi->nodes= 0; /* write to outputs */ if(node->custom1 & SH_NODE_MAT_DIFF) { |