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:
authorClément Foucault <foucault.clem@gmail.com>2018-10-08 18:07:09 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-10-08 18:20:09 +0300
commit8c4a7593f2189a57d348f4c3caf9fc1e3d552059 (patch)
tree8ed8884b15427003542972fcea953e66976323b7 /source/blender/draw/engines/eevee/eevee_render.c
parenteea22dd5ef0aaf58066bbff460315c8867741920 (diff)
EEVEE: Fix unpremultiplied alpha in render result
Fix T57102
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_render.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_render.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_render.c b/source/blender/draw/engines/eevee/eevee_render.c
index 117d48e2dc5..000649f42ac 100644
--- a/source/blender/draw/engines/eevee/eevee_render.c
+++ b/source/blender/draw/engines/eevee/eevee_render.c
@@ -191,6 +191,12 @@ static void eevee_render_result_combined(
rect->xmin, rect->ymin,
BLI_rcti_size_x(rect), BLI_rcti_size_y(rect),
4, 0, rp->rect);
+
+ /* Premult alpha */
+ int pixels_len = BLI_rcti_size_x(rect) * BLI_rcti_size_y(rect);
+ for (int i = 0; i < pixels_len * 4; i += 4) {
+ mul_v3_fl(rp->rect + i, rp->rect[i + 3]);
+ }
}
static void eevee_render_result_subsurface(