[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