[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14372] trunk/blender/source/blender: Cloth enhancement for upcomming cache changes: support different speed using clmd->sim_parms->timescale
Daniel Genrich
daniel.genrich at gmx.net
Wed Apr 9 18:39:58 CEST 2008
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;
More information about the Bf-blender-cvs
mailing list