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@pandora.be>2010-03-26 13:41:48 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2010-03-26 13:41:48 +0300
commit05b1f00858313930b8a850aff6349bb6ab68efff (patch)
tree3f2fbc4da3a9a92e6e66e61264e3421208f8b75d
parent40e58c85092945ca71e974ce4062d90e44f7fb66 (diff)
fix rendering another scene from the compositor not working.
(commit 27745 by Brecht from render25 branch)
-rw-r--r--source/blender/makesdna/DNA_scene_types.h2
-rw-r--r--source/blender/render/intern/source/pipeline.c57
2 files changed, 29 insertions, 30 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index ed0640690a5..f9deebb0026 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -900,7 +900,7 @@ typedef struct Scene {
#define R_NO_TEX 0x2000
#define R_STAMP_INFO 0x4000 /* deprecated */
#define R_FULL_SAMPLE 0x8000
-#define R_COMP_RERENDER 0x10000
+#define R_DEPRECATED 0x10000
#define R_RECURS_PROTECTION 0x20000
#define R_TEXNODE_PREVIEW 0x40000
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index d7e8a05d128..3ff4e70368a 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1275,7 +1275,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer *
int index = BLI_findindex(&re->r.layers, srl);
if (index != -1) {
re->r.actlay = index;
- re->r.scemode |= (R_SINGLE_LAYER|R_COMP_RERENDER);
+ re->r.scemode |= R_SINGLE_LAYER;
}
}
@@ -2217,6 +2217,7 @@ static void render_scene(Render *re, Scene *sce, int cfra)
/* still unsure entity this... */
resc->scene= sce;
+ resc->lay= sce->lay;
/* ensure scene has depsgraph, base flags etc OK */
set_scene_bg(sce);
@@ -2449,38 +2450,36 @@ static void do_render_composite_fields_blur_3d(Render *re)
ntreeCompositTagAnimated(ntree);
}
- if(1 || !(re->r.scemode & R_COMP_RERENDER)) {
- if(ntree && re->r.scemode & R_DOCOMP) {
- /* checks if there are render-result nodes that need scene */
- if((re->r.scemode & R_SINGLE_LAYER)==0)
- ntree_render_scenes(re);
+ if(ntree && re->r.scemode & R_DOCOMP) {
+ /* checks if there are render-result nodes that need scene */
+ if((re->r.scemode & R_SINGLE_LAYER)==0)
+ ntree_render_scenes(re);
+
+ if(!re->test_break(re->tbh)) {
+ ntree->stats_draw= render_composit_stats;
+ ntree->test_break= re->test_break;
+ ntree->sdh= re->sdh;
+ ntree->tbh= re->tbh;
+ /* in case it was never initialized */
+ R.sdh= re->sdh;
+ R.stats_draw= re->stats_draw;
- if(!re->test_break(re->tbh)) {
- ntree->stats_draw= render_composit_stats;
- ntree->test_break= re->test_break;
- ntree->sdh= re->sdh;
- ntree->tbh= re->tbh;
- /* in case it was never initialized */
- R.sdh= re->sdh;
- R.stats_draw= re->stats_draw;
-
- if (update_newframe)
- scene_update_for_newframe(re->scene, re->lay);
-
- if(re->r.scemode & R_FULL_SAMPLE)
- do_merge_fullsample(re, ntree);
- else {
- ntreeCompositExecTree(ntree, &re->r, G.background==0);
- }
-
- ntree->stats_draw= NULL;
- ntree->test_break= NULL;
- ntree->tbh= ntree->sdh= NULL;
+ if (update_newframe)
+ scene_update_for_newframe(re->scene, re->lay);
+
+ if(re->r.scemode & R_FULL_SAMPLE)
+ do_merge_fullsample(re, ntree);
+ else {
+ ntreeCompositExecTree(ntree, &re->r, G.background==0);
}
+
+ ntree->stats_draw= NULL;
+ ntree->test_break= NULL;
+ ntree->tbh= ntree->sdh= NULL;
}
- else if(re->r.scemode & R_FULL_SAMPLE)
- do_merge_fullsample(re, NULL);
}
+ else if(re->r.scemode & R_FULL_SAMPLE)
+ do_merge_fullsample(re, NULL);
}
/* weak... the display callback wants an active renderlayer pointer... */