[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [12729] trunk/blender/source/blender: Point cache was reset in many updates where it shouldn't have been reset.

Janne Karhu jhkarh at utu.fi
Fri Nov 30 08:41:22 CET 2007


Revision: 12729
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=12729
Author:   jhk
Date:     2007-11-30 08:41:22 +0100 (Fri, 30 Nov 2007)

Log Message:
-----------
Point cache was reset in many updates where it shouldn't have been reset.
Preview render crashed with "only render" children.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/particle_system.c
    trunk/blender/source/blender/render/intern/source/convertblender.c

Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c	2007-11-29 22:04:07 UTC (rev 12728)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c	2007-11-30 07:41:22 UTC (rev 12729)
@@ -4271,7 +4271,7 @@
 
 	if((psys->softflag&OB_SB_ENABLE)==0) return;
 
-	if(ob->recalc && (ob->recalc&OB_RECALC_TIME)==0)
+	if(psys->recalc || force_recalc)
 		psys->softflag|=OB_SB_REDO;
 
 	/* let's replace the object's own softbody with the particle softbody */
@@ -4284,12 +4284,6 @@
 	/* swich to new ones */
 	ob->soft=psys->soft;
 	ob->softflag=psys->softflag;
-	
-	/* signal for before/free bake */
-	//if(psys->flag & PSYS_SOFT_BAKE || force_recalc){
-	//	sbObjectToSoftbody(ob);
-	//	psys->flag &= ~PSYS_SOFT_BAKE;
-	//}
 
 	/* do softbody */
 	sbObjectStep(ob, (float)G.scene->r.cfra, NULL, psys_count_keys(psys));

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2007-11-29 22:04:07 UTC (rev 12728)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2007-11-30 07:41:22 UTC (rev 12729)
@@ -1749,6 +1749,13 @@
 	if(!(psmd->modifier.mode & eModifierMode_Render))
 		return 0;
 
+	if(G.rendering == 0) { /* preview render */
+		if(part->flag & PART_CHILD_RENDER)
+			totchild = 0;
+		else
+			totchild = (int)((float)totchild * (float)part->disp / 100.0f);
+	}
+
 	psys->flag|=PSYS_DRAWING;
 
 	BLI_srandom(psys->seed);





More information about the Bf-blender-cvs mailing list