[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60971] trunk/blender/intern/cycles/kernel /kernel_film.h: Fix #37184: film exposure + transparency not working well in cycles viewport.

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Oct 28 20:01:01 CET 2013


Revision: 60971
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60971
Author:   blendix
Date:     2013-10-28 19:01:01 +0000 (Mon, 28 Oct 2013)
Log Message:
-----------
Fix #37184: film exposure + transparency not working well in cycles viewport.

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/kernel_film.h

Modified: trunk/blender/intern/cycles/kernel/kernel_film.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_film.h	2013-10-28 18:34:19 UTC (rev 60970)
+++ trunk/blender/intern/cycles/kernel/kernel_film.h	2013-10-28 19:01:01 UTC (rev 60971)
@@ -72,9 +72,20 @@
 
 	__global float4 *in = (__global float4*)(buffer + index*kernel_data.film.pass_stride);
 	__global half *out = (__global half*)rgba + index*4;
-	float scale = kernel_data.film.exposure*sample_scale;
 
-	float4_store_half(out, in, scale);
+	float exposure = kernel_data.film.exposure;
+
+	if(exposure == 1.0f) {
+		float4_store_half(out, in, sample_scale);
+	}
+	else {
+		float4 rgba = *in;
+		rgba.x *= exposure;
+		rgba.y *= exposure;
+		rgba.z *= exposure;
+
+		float4_store_half(out, &rgba, sample_scale);
+	}
 }
 
 CCL_NAMESPACE_END




More information about the Bf-blender-cvs mailing list