diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-10-26 15:23:18 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2017-11-08 00:35:12 +0300 |
commit | ed7260071bc397dd389737088fce869e8adc0dc3 (patch) | |
tree | af3d2de6a41ef39d3dd3248645e3cb3aca11bc3a | |
parent | e0936e74abc5c9349fa55abe0f79f96f5add9f37 (diff) |
Fix EXR multilayer compositing result saving issues.
* It was saved as Combined.Combined instead of Composite.Combined.
* It was written even if no compositing was enabled.
5 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index 45c718fd5e4..4cdf98285c0 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -2868,7 +2868,7 @@ RenderPass *BKE_image_multilayer_index(RenderResult *rr, ImageUser *iuser) bool is_stereo = (iuser->flag & IMA_SHOW_STEREO) && RE_RenderResult_is_stereo(rr); rv_index = is_stereo ? iuser->multiview_eye : iuser->view; - if (RE_HasFakeLayer(rr)) rl_index += 1; + if (RE_HasCombinedLayer(rr)) rl_index += 1; for (rl = rr->layers.first; rl; rl = rl->next, rl_index++) { if (iuser->layer == rl_index) { diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c index 6cee48ad05b..d68e4c88935 100644 --- a/source/blender/editors/space_image/image_buttons.c +++ b/source/blender/editors/space_image/image_buttons.c @@ -548,7 +548,7 @@ static bool ui_imageuser_layer_menu_step(bContext *C, int direction, void *rnd_p else if (direction == 1) { int tot = BLI_listbase_count(&rr->layers); - if (RE_HasFakeLayer(rr)) + if (RE_HasCombinedLayer(rr)) tot++; /* fake compo/sequencer layer */ if (iuser->layer < tot - 1) { @@ -588,7 +588,7 @@ static bool ui_imageuser_pass_menu_step(bContext *C, int direction, void *rnd_pt return false; } - if (RE_HasFakeLayer(rr)) { + if (RE_HasCombinedLayer(rr)) { layer -= 1; } diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 61d0750a9c6..a94d048e26d 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -387,7 +387,7 @@ void RE_updateRenderInstances(Render *re, int flag); /******* defined in render_result.c *********/ -bool RE_HasFakeLayer(RenderResult *res); +bool RE_HasCombinedLayer(RenderResult *res); bool RE_RenderResult_is_stereo(RenderResult *res); struct RenderView *RE_RenderViewGetById(struct RenderResult *res, const int view_id); struct RenderView *RE_RenderViewGetByName(struct RenderResult *res, const char *viewname); diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 2eac20214ba..96a9bb44bcc 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -374,6 +374,7 @@ void RE_AcquireResultImageViews(Render *re, RenderResult *rr) render_result_views_shallowcopy(rr, re->result); rv = rr->views.first; + rr->have_combined = (rv->rectf != NULL); /* active layer */ rl = render_get_active_layer(re, re->result); @@ -392,7 +393,6 @@ void RE_AcquireResultImageViews(Render *re, RenderResult *rr) } } - rr->have_combined = (rv->rectf != NULL); rr->layers = re->result->layers; rr->xof = re->disprect.xmin; rr->yof = re->disprect.ymin; @@ -431,6 +431,7 @@ void RE_AcquireResultImage(Render *re, RenderResult *rr, const int view_id) /* actview view */ rv = RE_RenderViewGetById(re->result, view_id); + rr->have_combined = (rv->rectf != NULL); rr->rectf = rv->rectf; rr->rectz = rv->rectz; @@ -447,7 +448,6 @@ void RE_AcquireResultImage(Render *re, RenderResult *rr, const int view_id) rr->rectz = RE_RenderLayerGetPass(rl, RE_PASSNAME_Z, rv->name); } - rr->have_combined = (rv->rectf != NULL); rr->layers = re->result->layers; rr->views = re->result->views; diff --git a/source/blender/render/intern/source/render_result.c b/source/blender/render/intern/source/render_result.c index aa0c7357302..dbb2ef7ae51 100644 --- a/source/blender/render/intern/source/render_result.c +++ b/source/blender/render/intern/source/render_result.c @@ -883,7 +883,7 @@ bool RE_WriteRenderResult(ReportList *reports, RenderResult *rr, const char *fil char passname[EXR_PASS_MAXNAME]; for (a = 0; a < 4; a++) { set_pass_name(passname, RE_PASSNAME_COMBINED, a, "RGBA"); - IMB_exr_add_channel(exrhandle, RE_PASSNAME_COMBINED, passname, + IMB_exr_add_channel(exrhandle, "Composite", passname, chan_view, 4, 4 * width, rview->rectf + a, use_half_float); } @@ -1370,7 +1370,7 @@ void render_result_rect_get_pixels(RenderResult *rr, unsigned int *rect, int rec /*************************** multiview functions *****************************/ -bool RE_HasFakeLayer(RenderResult *res) +bool RE_HasCombinedLayer(RenderResult *res) { RenderView *rv; |