Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Genrich <daniel.genrich@gmx.net>2012-05-15 16:26:29 +0400
committerDaniel Genrich <daniel.genrich@gmx.net>2012-05-15 16:26:29 +0400
commit8242f624a1d10649946f9db6994dc8b07a1c8218 (patch)
tree2a8ede52bd7234063484d4cb17e0529624b8e08d /source/blender/blenkernel/intern/particle_system.c
parent7050633c6716b7f28aef906f47ec2793119d0a49 (diff)
Cloth: Revert triangulation after talking with brecht.
People: Better use subsurf after cloth since you can get failing collisions otherwise!
Diffstat (limited to 'source/blender/blenkernel/intern/particle_system.c')
-rw-r--r--source/blender/blenkernel/intern/particle_system.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index af8382d5ce1..5397b1729f9 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3555,7 +3555,6 @@ static void do_hair_dynamics(ParticleSimulationData *sim)
{
ParticleSystem *psys = sim->psys;
DerivedMesh *dm = psys->hair_in_dm;
- DerivedMesh *result = NULL;
MVert *mvert = NULL;
MEdge *medge = NULL;
MDeformVert *dvert = NULL;
@@ -3660,15 +3659,14 @@ static void do_hair_dynamics(ParticleSimulationData *sim)
psys->clmd->sim_parms->effector_weights = psys->part->effector_weights;
deformedVerts = MEM_callocN(sizeof(*deformedVerts)*dm->getNumVerts(dm), "do_hair_dynamics vertexCos");
+ psys->hair_out_dm = CDDM_copy(dm);
+ psys->hair_out_dm->getVertCos(psys->hair_out_dm, deformedVerts);
- result = clothModifier_do(psys->clmd, sim->scene, sim->ob, dm);
+ clothModifier_do(psys->clmd, sim->scene, sim->ob, dm, deformedVerts);
- if (result) {
- CDDM_calc_normals(result);
- psys->hair_out_dm = result;
- }
- else
- psys->hair_out_dm = CDDM_copy(dm);
+ CDDM_apply_vert_coords(psys->hair_out_dm, deformedVerts);
+
+ MEM_freeN(deformedVerts);
psys->clmd->sim_parms->effector_weights = NULL;
}