[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