[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19121] branches/sim_physics/source/ blender/render/intern: * Fix for a small bug where multiple scattering wasn 't being enabled properly.

Matt Ebb matt at mke3.net
Thu Feb 26 01:13:43 CET 2009


Revision: 19121
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19121
Author:   broken
Date:     2009-02-26 01:13:40 +0100 (Thu, 26 Feb 2009)

Log Message:
-----------
* Fix for a small bug where multiple scattering wasn't being enabled properly.
* Also a MSVC compile fix

Modified Paths:
--------------
    branches/sim_physics/source/blender/render/intern/include/volume_precache.h
    branches/sim_physics/source/blender/render/intern/source/volume_precache.c
    branches/sim_physics/source/blender/render/intern/source/volumetric.c

Modified: branches/sim_physics/source/blender/render/intern/include/volume_precache.h
===================================================================
--- branches/sim_physics/source/blender/render/intern/include/volume_precache.h	2009-02-25 20:07:45 UTC (rev 19120)
+++ branches/sim_physics/source/blender/render/intern/include/volume_precache.h	2009-02-26 00:13:40 UTC (rev 19121)
@@ -29,5 +29,6 @@
 void volume_precache(Render *re);
 void free_volume_precache(Render *re);
 int point_inside_volume_objectinstance(ObjectInstanceRen *obi, float *co);
+int using_lightcache(Material *ma);
 
 #define VOL_MS_TIMESTEP	0.1f
\ No newline at end of file

Modified: branches/sim_physics/source/blender/render/intern/source/volume_precache.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/volume_precache.c	2009-02-25 20:07:45 UTC (rev 19120)
+++ branches/sim_physics/source/blender/render/intern/source/volume_precache.c	2009-02-26 00:13:40 UTC (rev 19121)
@@ -49,6 +49,9 @@
 #include "volumetric.h"
 #include "volume_precache.h"
 
+#if defined( _MSC_VER ) && !defined( __cplusplus )
+# define inline __inline
+#endif // defined( _MSC_VER ) && !defined( __cplusplus )
 
 #include "BKE_global.h"
 
@@ -247,8 +250,7 @@
 	const float fac = ma->vol_ms_intensity;
 	const float simframes = ma->vol_ms_steps;
 	const int shade_type = ma->vol_shade_type;
-	const float dt = VOL_MS_TIMESTEP;
-
+	
 	int i, j, k, m;
 	int n = res;
 	const int size = (n+2)*(n+2)*(n+2);
@@ -595,6 +597,12 @@
 	}
 }
 
+int using_lightcache(Material *ma)
+{
+	return (((ma->vol_shadeflag & MA_VOL_PRECACHESHADING) && (ma->vol_shade_type == MA_VOL_SHADE_SINGLE))
+		|| (ELEM(ma->vol_shade_type, MA_VOL_SHADE_MULTIPLE, MA_VOL_SHADE_SINGLEPLUSMULTIPLE)));
+}
+
 /* loop through all objects (and their associated materials)
  * marked for pre-caching in convertblender.c, and pre-cache them */
 void volume_precache(Render *re)
@@ -606,7 +614,7 @@
 	if (re->r.scemode & R_PREVIEWBUTS) return;
 
 	for(vo= re->volumes.first; vo; vo= vo->next) {
-		if (vo->ma->vol_shadeflag & MA_VOL_PRECACHESHADING) {
+		if (using_lightcache(vo->ma)) {
 			for(obi= re->instancetable.first; obi; obi= obi->next) {
 				if (obi->obr == vo->obr) {
 					vol_precache_objectinstance_threads(re, obi, vo->ma, obi->obr->boundbox[0], obi->obr->boundbox[1]);

Modified: branches/sim_physics/source/blender/render/intern/source/volumetric.c
===================================================================
--- branches/sim_physics/source/blender/render/intern/source/volumetric.c	2009-02-25 20:07:45 UTC (rev 19120)
+++ branches/sim_physics/source/blender/render/intern/source/volumetric.c	2009-02-26 00:13:40 UTC (rev 19121)
@@ -514,9 +514,7 @@
 			
 			if (R.r.scemode & R_PREVIEWBUTS) {
 				vol_get_scattering(shi, scatter_col, step_mid, stepsize, density);
-			} else if (((shi->mat->vol_shadeflag & MA_VOL_PRECACHESHADING) &&
-				(shi->mat->vol_shade_type == MA_VOL_SHADE_SINGLE)) ||
-				(ELEM(shi->mat->vol_shade_type, MA_VOL_SHADE_MULTIPLE, MA_VOL_SHADE_SINGLEPLUSMULTIPLE))) {
+			} else if (using_lightcache(shi->mat)) {
 				vol_get_precached_scattering(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