[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43761] trunk/blender/source/blender/nodes /composite/node_composite_tree.c: Make Image and Alpha outputs in render layer node 'unavailable' when the Combined pass is not active in the render layer.

Lukas Toenne lukas.toenne at googlemail.com
Mon Jan 30 09:48:12 CET 2012


Revision: 43761
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43761
Author:   lukastoenne
Date:     2012-01-30 08:48:11 +0000 (Mon, 30 Jan 2012)
Log Message:
-----------
Make Image and Alpha outputs in render layer node 'unavailable' when the Combined pass is not active in the render layer. Fix for bug #29999.

The internal code for render layers node is unchanged, since the buffer is created anyway. Also noticed that, while unavailable sockets and links to/from them are not displayed, they are still used in execution, which could lead to unexpected results. But that's a more general problem with the way (pseudo-)dynamic sockets are simply flagged with SOCK_UNAVAIL.

Modified Paths:
--------------
    trunk/blender/source/blender/nodes/composite/node_composite_tree.c

Modified: trunk/blender/source/blender/nodes/composite/node_composite_tree.c
===================================================================
--- trunk/blender/source/blender/nodes/composite/node_composite_tree.c	2012-01-30 08:45:12 UTC (rev 43760)
+++ trunk/blender/source/blender/nodes/composite/node_composite_tree.c	2012-01-30 08:48:11 UTC (rev 43761)
@@ -660,6 +660,13 @@
 	for(sock= node->outputs.first; sock; sock= sock->next)
 		sock->flag &= ~SOCK_UNAVAIL;
 	
+	if(!(passflag & SCE_PASS_COMBINED)) {
+		sock= BLI_findlink(&node->outputs, RRES_OUT_IMAGE);
+		sock->flag |= SOCK_UNAVAIL;
+		sock= BLI_findlink(&node->outputs, RRES_OUT_ALPHA);
+		sock->flag |= SOCK_UNAVAIL;
+	}
+	
 	sock= BLI_findlink(&node->outputs, RRES_OUT_Z);
 	if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL;
 	sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL);




More information about the Bf-blender-cvs mailing list