[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46552] branches/tile/source/blender/nodes /composite: Tiles branch:

Brecht Van Lommel brechtvanlommel at pandora.be
Fri May 11 16:53:48 CEST 2012


Revision: 46552
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46552
Author:   blendix
Date:     2012-05-11 14:53:48 +0000 (Fri, 11 May 2012)
Log Message:
-----------
Tiles branch:
* Run old compositing code with Debug Menu operator value set to 200, useful for testing.

Modified Paths:
--------------
    branches/tile/source/blender/nodes/composite/node_composite_tree.c
    branches/tile/source/blender/nodes/composite/nodes/node_composite_bokehblur.c

Modified: branches/tile/source/blender/nodes/composite/node_composite_tree.c
===================================================================
--- branches/tile/source/blender/nodes/composite/node_composite_tree.c	2012-05-11 14:27:55 UTC (rev 46551)
+++ branches/tile/source/blender/nodes/composite/node_composite_tree.c	2012-05-11 14:53:48 UTC (rev 46552)
@@ -560,9 +560,103 @@
 }
 
 /* optimized tree execute test for compositing */
+static void ntreeCompositExecTreeOld(bNodeTree *ntree, RenderData *rd, int do_preview)
+{
+	bNodeExec *nodeexec;
+	bNode *node;
+	ListBase threads;
+	ThreadData thdata;
+	int totnode, curnode, rendering= 1, n;
+	bNodeTreeExec *exec= ntree->execdata;
+	
+	if(ntree==NULL) return;
+	
+	if(do_preview)
+		ntreeInitPreview(ntree, 0, 0);
+	
+	if (!ntree->execdata) {
+		/* XXX this is the top-level tree, so we use the ntree->execdata pointer. */
+		exec = ntreeCompositBeginExecTree(ntree, 1);
+	}
+	ntree_composite_texnode(ntree, 1);
+	
+	/* prevent unlucky accidents */
+	if(G.background)
+		rd->scemode &= ~R_COMP_CROP;
+	
+	/* setup callerdata for thread callback */
+	thdata.rd= rd;
+	thdata.stack= exec->stack;
+	
+	/* fixed seed, for example noise texture */
+	BLI_srandom(rd->cfra);
+
+	/* sets need_exec tags in nodes */
+	curnode = totnode= setExecutableNodes(exec, &thdata);
+
+	BLI_init_threads(&threads, exec_composite_node, rd->threads);
+	
+	while(rendering) {
+		
+		if(BLI_available_threads(&threads)) {
+			nodeexec= getExecutableNode(exec);
+			if(nodeexec) {
+				node = nodeexec->node;
+				if(ntree->progress && totnode)
+					ntree->progress(ntree->prh, (1.0f - curnode/(float)totnode));
+				if(ntree->stats_draw) {
+					char str[128];
+					BLI_snprintf(str, sizeof(str), "Compositing %d %s", curnode, node->name);
+					ntree->stats_draw(ntree->sdh, str);
+				}
+				curnode--;
+				
+				node->threaddata = &thdata;
+				node->exec= NODE_PROCESSING;
+				BLI_insert_thread(&threads, nodeexec);
+			}
+			else
+				PIL_sleep_ms(50);
+		}
+		else
+			PIL_sleep_ms(50);
+		
+		rendering= 0;
+		/* test for ESC */
+		if(ntree->test_break && ntree->test_break(ntree->tbh)) {
+			for(node= ntree->nodes.first; node; node= node->next)
+				node->exec |= NODE_READY;
+		}
+		
+		/* check for ready ones, and if we need to continue */
+		for(n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+			node = nodeexec->node;
+			if(node->exec & NODE_READY) {
+				if((node->exec & NODE_FINISHED)==0) {
+					BLI_remove_thread(&threads, nodeexec); /* this waits for running thread to finish btw */
+					node->exec |= NODE_FINISHED;
+					
+					/* freeing unused buffers */
+					if(rd->scemode & R_COMP_FREE)
+						freeExecutableNode(exec);
+				}
+			}
+			else rendering= 1;
+		}
+	}
+	
+	BLI_end_threads(&threads);
+	
+	/* XXX top-level tree uses the ntree->execdata pointer */
+	ntreeCompositEndExecTree(exec, 1);
+}
+
 void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int rendering, int do_preview)
 {
-	COM_execute(ntree, rendering);
+	if(G.rt == 200)
+		ntreeCompositExecTreeOld(ntree, rd, do_preview);
+	else
+		COM_execute(ntree, rendering);
 }
 
 /* *********************************************** */

Modified: branches/tile/source/blender/nodes/composite/nodes/node_composite_bokehblur.c
===================================================================
--- branches/tile/source/blender/nodes/composite/nodes/node_composite_bokehblur.c	2012-05-11 14:27:55 UTC (rev 46551)
+++ branches/tile/source/blender/nodes/composite/nodes/node_composite_bokehblur.c	2012-05-11 14:53:48 UTC (rev 46552)
@@ -41,7 +41,7 @@
 	{	SOCK_RGBA, 1, "Image",			0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
 	{	SOCK_RGBA, 1, "Bokeh",			1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
 	{	SOCK_FLOAT, 1, "Size",			0.01f, 0.0f, 0.0f, 0.0f, 0.0f, 0.5f},
-	{	SOCK_FLOAT, 1, "Bounding box",	1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+	{	SOCK_FLOAT, 1, "Bounding Box",	1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
 	{	-1, 0, ""	}
 };
 




More information about the Bf-blender-cvs mailing list