diff options
author | Hans Goudey <h.goudey@me.com> | 2022-02-19 00:17:01 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-02-19 00:17:01 +0300 |
commit | 7f68185d347b01a75836eb7372181a1196f546aa (patch) | |
tree | 935a55de98502bb17fe765bf4db338451333ed22 /source/blender/render | |
parent | d9d97db018d28f4c1ce7543ba275a9809d56294a (diff) | |
parent | 3cebfadb27eb4056d28211708158f9ad8a7459b7 (diff) |
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/pipeline.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/render/intern/pipeline.c b/source/blender/render/intern/pipeline.c index ed4326bce69..2a93fb2c46b 100644 --- a/source/blender/render/intern/pipeline.c +++ b/source/blender/render/intern/pipeline.c @@ -1106,6 +1106,8 @@ static void do_render_compositor_scenes(Render *re) return; } + bool changed_scene = false; + /* now foreach render-result node we do a full render */ /* results are stored in a way compositor will find it */ GSet *scenes_rendered = BLI_gset_ptr_new(__func__); @@ -1118,11 +1120,20 @@ static void do_render_compositor_scenes(Render *re) do_render_compositor_scene(re, scene, cfra); BLI_gset_add(scenes_rendered, scene); node->typeinfo->updatefunc(restore_scene->nodetree, node); + + if (scene != re->scene) { + changed_scene = true; + } } } } } BLI_gset_free(scenes_rendered, NULL); + + if (changed_scene) { + /* If rendered another scene, switch back to the current scene with compositing nodes. */ + re->current_scene_update(re->suh, re->scene); + } } /* bad call... need to think over proper method still */ |