[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23776] trunk/blender/source/blender/ render/intern: * crash fix in volume render, less reliance on global R

Matt Ebb matt at mke3.net
Mon Oct 12 01:04:01 CEST 2009


Revision: 23776
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23776
Author:   broken
Date:     2009-10-12 01:04:01 +0200 (Mon, 12 Oct 2009)

Log Message:
-----------
* crash fix in volume render, less reliance on global R

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/include/volume_precache.h
    trunk/blender/source/blender/render/intern/source/convertblender.c
    trunk/blender/source/blender/render/intern/source/volume_precache.c

Modified: trunk/blender/source/blender/render/intern/include/volume_precache.h
===================================================================
--- trunk/blender/source/blender/render/intern/include/volume_precache.h	2009-10-11 21:13:32 UTC (rev 23775)
+++ trunk/blender/source/blender/render/intern/include/volume_precache.h	2009-10-11 23:04:01 UTC (rev 23776)
@@ -28,6 +28,6 @@
  
 void volume_precache(Render *re);
 void free_volume_precache(Render *re);
-int point_inside_volume_objectinstance(ObjectInstanceRen *obi, float *co);
+int point_inside_volume_objectinstance(Render *re, ObjectInstanceRen *obi, float *co);
 
 #define VOL_MS_TIMESTEP	0.1f

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2009-10-11 21:13:32 UTC (rev 23775)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2009-10-11 23:04:01 UTC (rev 23776)
@@ -3026,7 +3026,7 @@
 	for(vo= re->volumes.first; vo; vo= vo->next) {
 		for(obi= re->instancetable.first; obi; obi= obi->next) {
 			if (obi->obr == vo->obr) {
-				if (point_inside_volume_objectinstance(obi, co)) {
+				if (point_inside_volume_objectinstance(re, obi, co)) {
 					MatInside *mi;
 					
 					mi = MEM_mallocN(sizeof(MatInside), "camera inside material");
@@ -4850,8 +4850,6 @@
 	/* MAKE RENDER DATA */
 	database_init_objects(re, lay, 0, 0, 0, 0);
 	
-	init_camera_inside_volumes(re);
-
 	if(!re->test_break(re->tbh)) {
 		int tothalo;
 
@@ -4876,6 +4874,8 @@
 				RE_make_stars(re, NULL, NULL, NULL, NULL);
 		sort_halos(re, tothalo);
 		
+		init_camera_inside_volumes(re);
+		
 		re->i.infostr= "Creating Shadowbuffers";
 		re->stats_draw(re->sdh, &re->i);
 

Modified: trunk/blender/source/blender/render/intern/source/volume_precache.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/volume_precache.c	2009-10-11 21:13:32 UTC (rev 23775)
+++ trunk/blender/source/blender/render/intern/source/volume_precache.c	2009-10-11 23:04:01 UTC (rev 23776)
@@ -72,7 +72,6 @@
 	if (limit == 0) return depth;
 	
 	if (RE_rayobject_raycast(tree, isect)) {
-		float hitco[3];
 		
 		isect->start[0] = isect->start[0] + isect->labda*isect->vec[0];
 		isect->start[1] = isect->start[1] + isect->labda*isect->vec[1];
@@ -730,12 +729,12 @@
 	BLI_freelistN(&re->volumes);
 }
 
-int point_inside_volume_objectinstance(ObjectInstanceRen *obi, float *co)
+int point_inside_volume_objectinstance(Render *re, ObjectInstanceRen *obi, float *co)
 {
 	RayObject *tree;
 	int inside=0;
 	
-	tree = makeraytree_object(&R, obi); //create_raytree_obi(obi, obi->obr->boundbox[0], obi->obr->boundbox[1]);
+	tree = makeraytree_object(re, obi); //create_raytree_obi(obi, obi->obr->boundbox[0], obi->obr->boundbox[1]);
 	if (!tree) return 0;
 	
 	inside = point_inside_obi(tree, obi, co);





More information about the Bf-blender-cvs mailing list