[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