[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50361] trunk/blender/intern/cycles/kernel /kernel_path.h: Fix #32089: non-progressive integrator issue with semi-transparent surfaces.

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Sep 3 19:41:49 CEST 2012


Revision: 50361
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50361
Author:   blendix
Date:     2012-09-03 17:41:49 +0000 (Mon, 03 Sep 2012)
Log Message:
-----------
Fix #32089: non-progressive integrator issue with semi-transparent surfaces.

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-09-03 17:41:47 UTC (rev 50360)
+++ trunk/blender/intern/cycles/kernel/kernel_path.h	2012-09-03 17:41:49 UTC (rev 50361)
@@ -842,15 +842,20 @@
 				path_state_next(kg, &ps, label);
 
 				/* setup ray */
-				ray.P = ray_offset(sd.P, (label & LABEL_TRANSMIT)? -sd.Ng: sd.Ng);
-				ray.D = bsdf_omega_in;
-				ray.t = FLT_MAX;
+				Ray bsdf_ray;
+
+				bsdf_ray.P = ray_offset(sd.P, (label & LABEL_TRANSMIT)? -sd.Ng: sd.Ng);
+				bsdf_ray.D = bsdf_omega_in;
+				bsdf_ray.t = FLT_MAX;
 #ifdef __RAY_DIFFERENTIALS__
-				ray.dP = sd.dP;
-				ray.dD = bsdf_domega_in;
+				bsdf_ray.dP = sd.dP;
+				bsdf_ray.dD = bsdf_domega_in;
 #endif
+#ifdef __MOTION__
+				bsdf_ray.time = sd.time;
+#endif
 
-				kernel_path_indirect(kg, rng, sample*num_samples, ray, buffer,
+				kernel_path_indirect(kg, rng, sample*num_samples, bsdf_ray, buffer,
 					tp*num_samples_inv, min_ray_pdf, bsdf_pdf, ps, rng_offset+PRNG_BOUNCE_NUM, &L);
 			}
 		}




More information about the Bf-blender-cvs mailing list