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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-02 22:22:16 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-01-02 22:22:16 +0300
commit56d6d13b0debc866c8638eab3d4626e0c038e31c (patch)
tree39052ca602897f49fa4ba6e3bd369d79d96a665a /source/blender/render
parent7e7657da2956f90c381a9bff01ce1b68d50bb89c (diff)
Fix T58859: render with compositor does not render other scenes.
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/pipeline.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 188da973f49..f3f4ec364c7 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1209,9 +1209,6 @@ static void render_scene(Render *re, Scene *sce, int cfra)
resc->main = re->main;
resc->scene = sce;
- /* ensure scene has depsgraph, base flags etc OK */
- BKE_scene_set_background(re->main, sce);
-
/* copy callbacks */
resc->display_update = re->display_update;
resc->duh = re->duh;
@@ -1260,7 +1257,6 @@ static void ntree_render_scenes(Render *re)
bNode *node;
int cfra = re->scene->r.cfra;
Scene *restore_scene = re->scene;
- bool scene_changed = false;
if (re->scene->nodetree == NULL) return;
@@ -1269,22 +1265,15 @@ static void ntree_render_scenes(Render *re)
for (node = re->scene->nodetree->nodes.first; node; node = node->next) {
if (node->type == CMP_NODE_R_LAYERS && (node->flag & NODE_MUTED) == 0) {
if (node->id && node->id != (ID *)re->scene) {
- if (node->flag & NODE_TEST) {
- Scene *scene = (Scene *)node->id;
+ Scene *scene = (Scene *)node->id;
- scene_changed |= scene != restore_scene;
+ if (render_scene_has_layers_to_render(scene, false)) {
render_scene(re, scene, cfra);
- node->flag &= ~NODE_TEST;
-
nodeUpdate(restore_scene->nodetree, node);
}
}
}
}
-
- /* restore scene if we rendered another last */
- if (scene_changed)
- BKE_scene_set_background(re->main, re->scene);
}
/* bad call... need to think over proper method still */