[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32767] trunk/blender/source/blender: Fix for [#24409] Particle corruption after rendering with multires
Janne Karhu
jhkarh at gmail.com
Sat Oct 30 12:19:30 CEST 2010
Revision: 32767
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32767
Author: jhk
Date: 2010-10-30 12:19:30 +0200 (Sat, 30 Oct 2010)
Log Message:
-----------
Fix for [#24409] Particle corruption after rendering with multires
* Also removed some unused flags from the particle modifier.
Modified Paths:
--------------
trunk/blender/source/blender/makesdna/DNA_modifier_types.h
trunk/blender/source/blender/modifiers/intern/MOD_particlesystem.c
Modified: trunk/blender/source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_modifier_types.h 2010-10-30 08:51:50 UTC (rev 32766)
+++ trunk/blender/source/blender/makesdna/DNA_modifier_types.h 2010-10-30 10:19:30 UTC (rev 32767)
@@ -548,12 +548,8 @@
} MeshDeformModifierData;
typedef enum {
- eParticleSystemFlag_Loaded = (1<<0),
- eParticleSystemFlag_Pars = (1<<1),
- eParticleSystemFlag_FromCurve = (1<<2),
- eParticleSystemFlag_DM_changed = (1<<3),
- eParticleSystemFlag_Disabled = (1<<4),
- eParticleSystemFlag_psys_updated = (1<<5),
+ eParticleSystemFlag_Pars = (1<<0),
+ eParticleSystemFlag_psys_updated = (1<<1),
} ParticleSystemModifierFlag;
typedef struct ParticleSystemModifierData {
Modified: trunk/blender/source/blender/modifiers/intern/MOD_particlesystem.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_particlesystem.c 2010-10-30 08:51:50 UTC (rev 32766)
+++ trunk/blender/source/blender/modifiers/intern/MOD_particlesystem.c 2010-10-30 10:19:30 UTC (rev 32767)
@@ -154,6 +154,10 @@
psmd->dm->needsFree = 1;
psmd->dm->release(psmd->dm);
}
+ else {
+ /* no dm before, so recalc particles fully */
+ psys->recalc |= PSYS_RECALC_RESET;
+ }
/* make new dm */
psmd->dm=CDDM_copy(dm);
@@ -175,7 +179,6 @@
/* in file read dm hasn't really changed but just wasn't saved in file */
psys->recalc |= PSYS_RECALC_RESET;
- psmd->flag |= eParticleSystemFlag_DM_changed;
psmd->totdmvert= psmd->dm->getNumVerts(psmd->dm);
psmd->totdmedge= psmd->dm->getNumEdges(psmd->dm);
@@ -186,7 +189,6 @@
psmd->flag &= ~eParticleSystemFlag_psys_updated;
particle_system_update(md->scene, ob, psys);
psmd->flag |= eParticleSystemFlag_psys_updated;
- psmd->flag &= ~eParticleSystemFlag_DM_changed;
}
}
More information about the Bf-blender-cvs
mailing list