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, ""       }
 };
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to