[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17141] branches/sim_physics/source/ blender/render/intern/source: fixed a crash in volume shadows

Matt Ebb matt at mke3.net
Tue Oct 21 08:10:37 CEST 2008


Revision: 17141
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17141
Author:   broken
Date:     2008-10-21 08:10:36 +0200 (Tue, 21 Oct 2008)

Log Message:
-----------
fixed a crash in volume shadows

Modified Paths:
--------------
    branches/sim_physics/source/blender/render/intern/source/rayshade.c
    branches/sim_physics/source/blender/render/intern/source/volumetric.c

Modified: branches/sim_physics/source/blender/render/intern/source/rayshade.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/rayshade.c	2008-10-21 02:04:29 UTC (rev 17140)
+++ branches/sim_physics/source/blender/render/intern/source/rayshade.c	2008-10-21 06:10:36 UTC (rev 17141)
@@ -467,6 +467,7 @@
 		//shi.do_preview= 0; // memset above, so dont need this
 		shi.light_override= origshi->light_override;
 		shi.mat_override= origshi->mat_override;
+		shi.re = origshi->re;
 		
 		memset(&shr, 0, sizeof(ShadeResult));
 		
@@ -1300,6 +1301,7 @@
 		
 		shi.depth= 1;					/* only used to indicate tracing */
 		shi.mask= 1;
+		shi.re = &R;
 		
 		/*shi.osatex= 0;
 		shi.thread= shi.sample= 0;

Modified: branches/sim_physics/source/blender/render/intern/source/volumetric.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/volumetric.c	2008-10-21 02:04:29 UTC (rev 17140)
+++ branches/sim_physics/source/blender/render/intern/source/volumetric.c	2008-10-21 06:10:36 UTC (rev 17141)
@@ -297,8 +297,8 @@
 	}
 }
 
-#if 0
-/* no interpolation, not used */
+
+/* no interpolation */
 static void vol_get_precached_scattering_nearest(ShadeInput *shi, float *scatter_col, float *co)
 {
 	const int res = shi->mat->vol_precache_resolution;
@@ -319,8 +319,8 @@
 	scatter_col[1] = shi->obi->volume_precache[1*res*res*res + x*res*res + y*res + z];
 	scatter_col[2] = shi->obi->volume_precache[2*res*res*res + x*res*res + y*res + z];
 }
-#endif
 
+
 /* Compute attenuation, otherwise known as 'optical thickness', extinction, or tau.
  * Used in the relationship Transmittance = e^(-attenuation)
  */
@@ -529,7 +529,10 @@
 			
 			if ((shi->mat->vol_shadeflag & MA_VOL_PRECACHESHADING) &&
 				(shi->mat->vol_shadeflag & MA_VOL_ATTENUATED)) {
-				vol_get_precached_scattering(shi, scatter_col, step_mid);
+				if (G.rt==0)
+					vol_get_precached_scattering(shi, scatter_col, step_mid);
+				else
+					vol_get_precached_scattering_nearest(shi, scatter_col, step_mid);
 			} else
 				vol_get_scattering(shi, scatter_col, step_mid, stepsize, density);
 			





More information about the Bf-blender-cvs mailing list