[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49446] trunk/blender/intern/cycles/kernel /kernel_path.h: Fix #32205: Holdout shader + transparent background stays black with Alpha = 1
Sergey Sharybin
sergey.vfx at gmail.com
Wed Aug 1 14:59:47 CEST 2012
Revision: 49446
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49446
Author: nazgul
Date: 2012-08-01 12:59:47 +0000 (Wed, 01 Aug 2012)
Log Message:
-----------
Fix #32205: Holdout shader + transparent background stays black with Alpha = 1
It was read of initialized memory around holdout_weight in cases when
holdout material is used. Seems that it should be assigned to result
of shader_holdout_eval here.
If Brecht could double check this it'll be great.
This could potentially fix #32224: Holdout Error with CUDA Cycles Render
Modified Paths:
--------------
trunk/blender/intern/cycles/kernel/kernel_path.h
Modified: trunk/blender/intern/cycles/kernel/kernel_path.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_path.h 2012-08-01 12:59:38 UTC (rev 49445)
+++ trunk/blender/intern/cycles/kernel/kernel_path.h 2012-08-01 12:59:47 UTC (rev 49446)
@@ -288,7 +288,7 @@
if(sd.flag & SD_HOLDOUT_MASK)
holdout_weight = make_float3(1.0f, 1.0f, 1.0f);
else
- shader_holdout_eval(kg, &sd);
+ holdout_weight = shader_holdout_eval(kg, &sd);
/* any throughput is ok, should all be identical here */
L_transparent += average(holdout_weight*throughput);
@@ -655,7 +655,7 @@
if(sd.flag & SD_HOLDOUT_MASK)
holdout_weight = make_float3(1.0f, 1.0f, 1.0f);
else
- shader_holdout_eval(kg, &sd);
+ holdout_weight = shader_holdout_eval(kg, &sd);
/* any throughput is ok, should all be identical here */
L_transparent += average(holdout_weight*throughput);
More information about the Bf-blender-cvs
mailing list