Revision: 14372
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14372
Author:   genscher
Date:     2008-04-09 18:38:26 +0200 (Wed, 09 Apr 2008)

Log Message:
-----------
Cloth enhancement for upcomming cache changes: support different speed using 
clmd->sim_parms->timescale

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/cloth.c
    trunk/blender/source/blender/blenkernel/intern/implicit.c
    trunk/blender/source/blender/makesdna/DNA_cloth_types.h

Modified: trunk/blender/source/blender/blenkernel/intern/cloth.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cloth.c      2008-04-09 
15:46:26 UTC (rev 14371)
+++ trunk/blender/source/blender/blenkernel/intern/cloth.c      2008-04-09 
16:38:26 UTC (rev 14372)
@@ -135,6 +135,7 @@
        clmd->sim_parms->firstcachedframe = -1.0;
        clmd->sim_parms->avg_spring_len = 0.0;
        clmd->sim_parms->presets = 2; /* cotton as start setting */
+       clmd->sim_parms->timescale = 1.0f; /* speed factor, describes how fast 
cloth moves */
        
        clmd->coll_parms->self_friction = 5.0;
        clmd->coll_parms->friction = 5.0;
@@ -447,7 +448,7 @@
        }
        
        // unused in the moment, calculated seperately in implicit.c
-       clmd->sim_parms->dt = 1.0f / clmd->sim_parms->stepsPerFrame;
+       clmd->sim_parms->dt = clmd->sim_parms->timescale / 
clmd->sim_parms->stepsPerFrame;
        
        if ( ( clmd->clothObject == NULL ) || (clmd->clothObject && (numverts 
!= clmd->clothObject->numverts )) )
        {       

Modified: trunk/blender/source/blender/blenkernel/intern/implicit.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/implicit.c   2008-04-09 
15:46:26 UTC (rev 14371)
+++ trunk/blender/source/blender/blenkernel/intern/implicit.c   2008-04-09 
16:38:26 UTC (rev 14372)
@@ -1387,7 +1387,9 @@
 
        init_lfvector(lF, gravity, numverts);
        
-       // multiply lF with mass matrix
+       /* multiply lF with mass matrix
+       // force = mass * acceleration (in this case: gravity)
+       */
        for(i = 0; i < (long)numverts; i++)
        {
                float temp[3];
@@ -1528,7 +1530,7 @@
        Cloth *cloth = clmd->clothObject;
        ClothVertex *verts = cloth->verts;
        unsigned int numverts = cloth->numverts;
-       float dt = 1.0f / clmd->sim_parms->stepsPerFrame;
+       float dt = clmd->sim_parms->timescale / clmd->sim_parms->stepsPerFrame;
        Implicit_Data *id = cloth->implicit;
        int result = 0;
        

Modified: trunk/blender/source/blender/makesdna/DNA_cloth_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_cloth_types.h     2008-04-09 
15:46:26 UTC (rev 14371)
+++ trunk/blender/source/blender/makesdna/DNA_cloth_types.h     2008-04-09 
16:38:26 UTC (rev 14372)
@@ -85,8 +85,8 @@
        int     firstcachedframe;
        float   avg_spring_len; /* used for normalized springs */
        short   presets; /* used for presets on GUI */
-       short pad;
-       int pad2;
+       short   pad;
+       float   timescale; /* parameter how fast cloth runs */
 }
 ClothSimSettings;
 


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to