Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2012-06-21 21:58:12 +0400
committerJeroen Bakker <j.bakker@atmind.nl>2012-06-21 21:58:12 +0400
commit7a8d60ec7d89db838429985fd7793317c89cbf1c (patch)
tree29782c17ad84253521cd8b438ea182aabfbaf443 /source/blender/compositor/intern/COM_compositor.cpp
parentd406e274e0856ee7a3f1c2a161952d61b501adfe (diff)
* make it possible to composite without an compositor node [#31878]
Tiles Compositor: Fails without 'Compositor' output node. Regression.
Diffstat (limited to 'source/blender/compositor/intern/COM_compositor.cpp')
-rw-r--r--source/blender/compositor/intern/COM_compositor.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/compositor/intern/COM_compositor.cpp b/source/blender/compositor/intern/COM_compositor.cpp
index 2bbfd18e7c5..cfae8f5f481 100644
--- a/source/blender/compositor/intern/COM_compositor.cpp
+++ b/source/blender/compositor/intern/COM_compositor.cpp
@@ -25,6 +25,8 @@
extern "C" {
#include "BLI_threads.h"
}
+#include "BKE_main.h"
+#include "BKE_global.h"
#include "COM_compositor.h"
#include "COM_ExecutionSystem.h"
@@ -32,7 +34,7 @@ extern "C" {
#include "OCL_opencl.h"
static ThreadMutex *compositorMutex;
-void COM_execute(bNodeTree *editingtree, int rendering)
+void COM_execute(RenderData *rd, bNodeTree *editingtree, int rendering)
{
if (compositorMutex == NULL) { /// TODO: move to blender startup phase
compositorMutex = new ThreadMutex();
@@ -41,7 +43,7 @@ void COM_execute(bNodeTree *editingtree, int rendering)
WorkScheduler::initialize(); ///TODO: call workscheduler.deinitialize somewhere
}
BLI_mutex_lock(compositorMutex);
- if (editingtree->test_break && editingtree->test_break(editingtree->tbh)) {
+ if (editingtree->test_break(editingtree->tbh)) {
// during editing multiple calls to this method can be triggered.
// make sure one the last one will be doing the work.
BLI_mutex_unlock(compositorMutex);
@@ -49,13 +51,20 @@ void COM_execute(bNodeTree *editingtree, int rendering)
}
+
/* set progress bar to 0% and status to init compositing*/
editingtree->progress(editingtree->prh, 0.0);
/* initialize execution system */
- ExecutionSystem *system = new ExecutionSystem(editingtree, rendering);
- system->execute();
- delete system;
+ Scene *scene;
+ for (scene = (Scene*)G.main->scene.first; scene != NULL ; scene = (Scene*)scene->id.next) {
+ if (&scene->r == rd) {
+ ExecutionSystem *system = new ExecutionSystem(scene, editingtree, rendering);
+ system->execute();
+ delete system;
+ break;
+ }
+ }
BLI_mutex_unlock(compositorMutex);
}