Revision 4599123 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 21:49 (GMT) |
Fixed implementation of the Conjugate Gradient method for the cloth solver that properly supports constraints with some degrees-of-freedom. The previous solver implementation only used the S matrix (constraint filter matrix) for pinning vertices, in which case all elements are zero and the error doesn't show up. With partial constraints (useful for collision contacts) the matrix has non-zero off-diagonal elements and the algorithm easily diverges. There are also initial steps for implementing collision prevention as described in the Baraff/Witkin paper "Large Steps in Cloth Simulation" (http://www.cs.cmu.edu/~baraff/papers/sig98.pdf). |
Revision 92bda4d by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 15:12 (GMT) |
Hair collision: Use the S matrix for enforcing contact constraints. This is a first test, the contacts are very explosive atm because they basically pin hair vertices globally on collision, which leads to stretching of the springs which is then suddenly released in the next frame. |
Revision 458fcfd by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 3, 2014, 14:47 (GMT) |
Minor corrections: * Add some comments to better describe what some numbers mean * Fix cuddliness and parent position of strips |
Revision 0796c10 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 13:44 (GMT) |
Preparation for collision code fixing. Instead of handling contact tests and collision response in the same function in collision.c, first generate contact points and return them as a list, then free at the end of the stepping function. This way the contact response can be integrated into the conjugate gradient method properly instead of using the hackish and unstable double evaluation that is currently used. |
Revision cfea750 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 11:43 (GMT) |
Cleanup: added some comments to the members of Implicit_Data. |
Revision 509d516 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 3, 2014, 10:27 (GMT) |
Merge branch 'master' into terrible_consequencer |
Revision 0877273 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 09:45 (GMT) |
Cleanup: No point in passing all the implicit solver arguments individually. |
Revision 570eb7f by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 09:34 (GMT) |
Cleanup: removed the unused olddV vectors from implicit solver data. |
Revision e167f9c by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 3, 2014, 09:21 (GMT) |
Revert "Gooseberry feature request, allow select left-right strips operator to select all" This change has been in master all the time after all, exposed the operation better in master. This reverts commit 799f974668004b3d2b7873f51951eb22b5fcf2f3. |
Revision 3eed893 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 09:20 (GMT) |
Some more debug elements for hair collisions. |
Revision b3a28d8 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 3, 2014, 09:17 (GMT) |
Extended line/face collision near-check, to allow for distance margins. The original BLI method for line/triangle intersection returns false in case the line does not actually intersect, but in order to generate repulsion forces we need to also handle contacts inside the margin. |
Revision 799f974 by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 2, 2014, 17:23 (GMT) |
Gooseberry feature request, allow select left-right strips operator to select all strips independently of channel of the active strip. |
Revision 60a17cc by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 2, 2014, 16:20 (GMT) |
Fix crash when setting parent. |
Revision cb1730d by Antonis Ryakiotakis (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths, terrible_consequencer, testbuild) September 2, 2014, 16:03 (GMT) |
Merge branch 'master' into terrible_consequencer |
Revision 7c0be7b by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 2, 2014, 13:03 (GMT) |
Fix bounce/repulse calculation. |
Revision b23828f by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 2, 2014, 12:10 (GMT) |
Hair debugging: use "categories" (strings) for grouping debug elements and support clearing for categories. |
Revision 5c1d565 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 2, 2014, 10:49 (GMT) |
Fix for hair collision detection: need to use the second point of the timestep segment. This ensures the distance for a collision pair is the one of the current point position, and the response gets calculated accordingly. |
Revision 268d356 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 1, 2014, 16:49 (GMT) |
Use repulsion forces in combination with the one-time penalty forces in collision. |
Revision 54832f1 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 1, 2014, 16:47 (GMT) |
Fix for crash when going into particle edit mode with baked hair simulation. Note that this currently generates an extreme amount of points, by making a edit pathcache curve for each hair in every frame! But at least doesn't simply crash now. |
Revision 22245d0 by Lukas Toenne (gooseberry, gooseberry_farm, hair_immediate_fixes, hair_system, temp_constraint_volume, temp_hair_flow, temp_hair_modifiers, temp_motionpaths) September 1, 2014, 16:46 (GMT) |
Clear debug_data pointer in local cloth modifier data of the particle systems on blend file load. |
|