From ddcc3f612a33de6cc1ed7ecb2b2fd66290952a31 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 20 Sep 2012 10:07:49 +0000 Subject: Fix #32603: Multi-Layer EXR files can't be color managed Issue was caused by completely different way how multi-layer EXRs are loading, they're bypassing general image buffer loading functions. Solved by running color space transformation on render result construction from multi-layer EXR image. Also fixed issue with wrong display buffer computing for buffers with less than 4 channels. Issues were: - Display buffer is always expected to be RGBA - OpenColorIO can not apply color space transformations on non-{RGB, RGBA} pixels. --- source/blender/render/extern/include/RE_pipeline.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/render/extern/include/RE_pipeline.h') diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index b43824d6d5e..c7a8bfeec1d 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -225,7 +225,7 @@ void RE_PreviewRender(struct Render *re, struct Main *bmain, struct Scene *scene int RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode); int RE_WriteRenderResult(struct ReportList *reports, RenderResult *rr, const char *filename, int compress); -struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty); +struct RenderResult *RE_MultilayerConvert(void *exrhandle, const char *colorspace, int predivide, int rectx, int recty); extern const float default_envmap_layout[]; int RE_WriteEnvmapResult(struct ReportList *reports, struct Scene *scene, struct EnvMap *env, const char *relpath, const char imtype, float layout[12]); -- cgit v1.2.3