[Bf-blender-cvs] [8c4a7593f21] blender2.8: EEVEE: Fix unpremultiplied alpha in render result

Clément Foucault noreply at git.blender.org
Mon Oct 8 17:20:22 CEST 2018


Commit: 8c4a7593f2189a57d348f4c3caf9fc1e3d552059
Author: Clément Foucault
Date:   Mon Oct 8 17:07:09 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB8c4a7593f2189a57d348f4c3caf9fc1e3d552059

EEVEE: Fix unpremultiplied alpha in render result

Fix T57102

===================================================================

M	source/blender/draw/engines/eevee/eevee_render.c

===================================================================

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(



More information about the Bf-blender-cvs mailing list