Revision 7d21e08 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 12, 2014, 08:26 (GMT) |
Ported root frame transformation to the old cloth solver. |
Revision 8808289 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 12, 2014, 08:21 (GMT) |
Switched back to the old solver for the time being. The Eigen solver is not quite stable currently (possibly due to incorrect porting of force calculations). It also still lacks threading support and optimized matrix construction, making it slower in comparison. Eventually would still like to switch, but fixing these issues takes time. |
Revision 26e8ebf by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 12, 2014, 08:19 (GMT) |
Implemented gradient transformation for forces in the root frame (dFdX, dFdV). |
Revision 5e35f07 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 11, 2014, 16:32 (GMT) |
Removed unused variable. |
Revision 5ba680a by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 11, 2014, 15:53 (GMT) |
First stage of implementing moving frames of reference for hair/cloth. This adds transformations for each hair from world to "root space". Currently positions and velocities are simply transformed for the solver data and inverse-transformed when copying the results back to the cloth data. This way the hair movement becomes independent from the movement of the emitter object. Eventually the "fictitious" forces originating from emitter movement can be added back in a controlled way. http://en.wikipedia.org/wiki/Fictitious_force Ignoring these fictitious forces or scaling their effect is physically correct, because in the absence of external forces the hair will always return to rest position in this root frame. External forces currently are not yet transformed into the root space. |
Revision 330f5f1 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 11, 2014, 15:49 (GMT) |
Disable some debugging options in Eigen to make it more usable in Debug mode. Eigen can become very slow in debug mode, which is a bit of a problem. It relies heavily on compiler optimizations to remove function calls etc. More optimizations may be desirable, possibly putting the implicit solver into its own little library and enabling optimizations in debug mode there could help. |
Revision 6cd7d8f by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 11, 2014, 12:19 (GMT) |
Added new data in the cloth modifier for hair root information. This will allow us to implement moving reference frames for hair and make "fictitious" forces optional, aiding in creating stable and controllable hair systems. Adding data in this place is a nasty hack, but it's too difficult to encode as a DM data layer and the whole cloth modifier/DM intermediate data copying for hair should be removed anyway. |
Revision f503262 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 11, 2014, 12:15 (GMT) |
Cleanup, removed unused old code. |
Revision a56baae by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 11, 2014, 09:14 (GMT) |
Optimized matrix filling using the Eigen triplets method. Otherwise the construction of matrices becomes very slow for larger vertex counts because adding a new element is O(n), making it O(n^2) in total. |
Revision 1f38343 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 21:11 (GMT) |
Added back external effector forces for the cloth solver. |
Revision cbe66e6 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 19:06 (GMT) |
Reenabled goal springs and removed the arbitrary structural scaling factor. |
Revision ccf98b9 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 17:14 (GMT) |
Fixed bending forces for cloth springs. |
Revision 0066cd1 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 16:55 (GMT) |
Correctly implemented and verified gravity, drag, structural springs. |
Revision e308e99 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 15:10 (GMT) |
Minor fix in debug print, so solver prints can be diff'ed. |
Revision b6f3db9 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 14:59 (GMT) |
A couple of defines to disable various influences on the cloth sim for debugging. |
Revision f235da9 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 14:04 (GMT) |
Debug printing code for large sparse vectors and matrices, to compare solver input/output of the old and new methods. |
Revision 3871ec3 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 10, 2014, 12:30 (GMT) |
Added a new internal header for implicit solver defines. Should become its own intern wrapper library eventually. |
Revision 0335d92 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 9, 2014, 10:36 (GMT) |
Reenabled air drag force for cloth sim. |
Revision dfba467 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 9, 2014, 10:01 (GMT) |
Arbitrary scaling factor for the structural spring forces (stretching). This is not nice at all, but for some reason (possibly time scale) the old force values are much too high and cause the solver to become unstable. These will be revisited later anyway, so for now such scaling should be fine. |
Revision 4b9771a by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 8, 2014, 17:03 (GMT) |
Switched to the modified CG method that supports constraints, and added back structural stretch springs. |
|