diff options
Diffstat (limited to 'source/blender/compositor/intern/COM_compositor.cpp')
-rw-r--r-- | source/blender/compositor/intern/COM_compositor.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/compositor/intern/COM_compositor.cpp b/source/blender/compositor/intern/COM_compositor.cpp index 49ab9db5dd8..a0f660058f9 100644 --- a/source/blender/compositor/intern/COM_compositor.cpp +++ b/source/blender/compositor/intern/COM_compositor.cpp @@ -21,9 +21,9 @@ */ -#include "BKE_node.h" extern "C" { - #include "BLI_threads.h" +#include "BKE_node.h" +#include "BLI_threads.h" } #include "BKE_main.h" #include "BKE_global.h" @@ -63,6 +63,13 @@ void COM_execute(RenderData *rd, bNodeTree *editingtree, int rendering, return; } + /* Make sure node tree has previews. + * Don't create previews in advance, this is done when adding preview operations. + * Reserved preview size is determined by render output for now. + */ + float aspect = rd->xsch > 0 ? (float)rd->ysch / (float)rd->xsch : 1.0; + BKE_node_preview_init_tree(editingtree, COM_PREVIEW_SIZE, (int)(COM_PREVIEW_SIZE * aspect), FALSE); + /* initialize workscheduler, will check if already done. TODO deinitialize somewhere */ bool use_opencl = (editingtree->flag & NTREE_COM_OPENCL); WorkScheduler::initialize(use_opencl); @@ -85,7 +92,6 @@ void COM_execute(RenderData *rd, bNodeTree *editingtree, int rendering, } } - ExecutionSystem *system = new ExecutionSystem(rd, editingtree, rendering, false, viewSettings, displaySettings); system->execute(); delete system; |