diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index de87fb2..7769dab 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -647,6 +647,38 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf re->r.actlay = 0; } + + if (re->scene->use_nodes /* use compositing ? */){ + + rl = MEM_callocN(sizeof(RenderLayer), "new render layer"); + BLI_addhead(&rr->layers, rl); + + BLI_strncpy(rl->name, "Composite", 10); + rl->rectx = rectx; + rl->recty = recty; + + if (rr->do_exr_tile) { + rl->display_buffer = MEM_mapallocN(rectx * recty * sizeof(unsigned int), "Combined display space rgba"); + + rl->exrhandle = IMB_exr_get_handle(); + + IMB_exr_add_channel(rl->exrhandle, rl->name, "Combined.R", 0, 0, NULL); + IMB_exr_add_channel(rl->exrhandle, rl->name, "Combined.G", 0, 0, NULL); + IMB_exr_add_channel(rl->exrhandle, rl->name, "Combined.B", 0, 0, NULL); + IMB_exr_add_channel(rl->exrhandle, rl->name, "Combined.A", 0, 0, NULL); + } + else { + rl->rectf = MEM_mapallocN(rectx * recty * sizeof(float)* 4, "Combined rgba"); + } + + /* note, this has to be in sync with scene.c */ + rl->lay = (1 << 20) - 1; + rl->layflag = 0x7FFF; /* solid ztra halo strand */ + rl->passflag = SCE_PASS_COMBINED; + + re->r.actlay = 0; + + } /* border render; calculate offset for use in compositor. compo is centralized coords */ /* XXX obsolete? I now use it for drawing border render offset (ton) */