[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59740] trunk/blender/source/blender/nodes /shader/node_shader_util.c: Related to #36632: cycles textured draw mode now shows the image from an image

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Sep 2 18:05:51 CEST 2013


Revision: 59740
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59740
Author:   blendix
Date:     2013-09-02 16:05:51 +0000 (Mon, 02 Sep 2013)
Log Message:
-----------
Related to #36632: cycles textured draw mode now shows the image from an image
texture node even if it's not active, in case there is no active texture node.

Modified Paths:
--------------
    trunk/blender/source/blender/nodes/shader/node_shader_util.c

Modified: trunk/blender/source/blender/nodes/shader/node_shader_util.c
===================================================================
--- trunk/blender/source/blender/nodes/shader/node_shader_util.c	2013-09-02 15:43:28 UTC (rev 59739)
+++ trunk/blender/source/blender/nodes/shader/node_shader_util.c	2013-09-02 16:05:51 UTC (rev 59740)
@@ -195,25 +195,28 @@
 bNode *nodeGetActiveTexture(bNodeTree *ntree)
 {
 	/* this is the node we texture paint and draw in textured draw */
-	bNode *node, *tnode;
+	bNode *node, *tnode, *inactivenode = NULL;
 
 	if (!ntree)
 		return NULL;
 
-	for (node = ntree->nodes.first; node; node = node->next)
+	for (node = ntree->nodes.first; node; node = node->next) {
 		if (node->flag & NODE_ACTIVE_TEXTURE)
 			return node;
+		else if (!inactivenode && node->typeinfo->nclass == NODE_CLASS_TEXTURE)
+			inactivenode = node;
+	}
 	
 	/* node active texture node in this tree, look inside groups */
 	for (node = ntree->nodes.first; node; node = node->next) {
 		if (node->type == NODE_GROUP) {
 			tnode = nodeGetActiveTexture((bNodeTree *)node->id);
-			if (tnode)
+			if (tnode && ((tnode->flag & NODE_ACTIVE_TEXTURE) || !inactivenode))
 				return tnode;
 		}
 	}
 	
-	return NULL;
+	return inactivenode;
 }
 
 void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs)




More information about the Bf-blender-cvs mailing list