[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45319] trunk/blender/source/blender/ blenkernel/intern/DerivedMesh.c: Partial fix [#30744] BMesh: Particle system face/volume emission doesn' t work if there is a constructive modifier earlier.
Bastien Montagne
montagne29 at wanadoo.fr
Sun Apr 1 17:02:25 CEST 2012
Revision: 45319
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45319
Author: mont29
Date: 2012-04-01 15:02:19 +0000 (Sun, 01 Apr 2012)
Log Message:
-----------
Partial fix [#30744] BMesh: Particle system face/volume emission doesn't work if there is a constructive modifier earlier.
When ORIGSPACE is added, it is now a loop data, so we need to mark tessdata as dirty too. Also fixed DM_ensure_tessface to check DM_DIRTY_TESS_CDLAYERS flag!
This fixes problems with subsurf + dynapaint + particles, however, some modifiers, like remesh, seems to create a new dm from scratch, hence loosing completely those CD layers?\226?\128?\166 Note this bug already existed in 2.62, so this is not a regression.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c 2012-04-01 10:36:54 UTC (rev 45318)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c 2012-04-01 15:02:19 UTC (rev 45319)
@@ -382,6 +382,13 @@
__func__, numPolys, dm->type);
}
}
+
+ else if (dm->dirty && DM_DIRTY_TESS_CDLAYERS) {
+ BLI_assert(CustomData_has_layer(&dm->faceData, CD_POLYINDEX));
+ DM_update_tessface_data(dm);
+ }
+
+ dm->dirty &= ~DM_DIRTY_TESS_CDLAYERS;
}
/* Update tessface CD data from loop/poly ones. Needed when not retessellating after modstack evaluation. */
@@ -1629,7 +1636,7 @@
deformedVerts = NULL;
}
- }
+ }
/* create an orco derivedmesh in parallel */
if (nextmask & CD_MASK_ORCO) {
@@ -3061,6 +3068,8 @@
}
}
}
+
+ dm->dirty |= DM_DIRTY_TESS_CDLAYERS;
}
More information about the Bf-blender-cvs
mailing list