Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 2707 / 5574

Revision da01c88 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Cleanup, removed unused old code.
Revision d91a4cd by Lukas Toenne
January 20, 2015, 08:29 (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 e55d114 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Added back external effector forces for the cloth solver.
Revision ace1b50 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Reenabled goal springs and removed the arbitrary structural scaling
factor.
Revision c7932e9 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Fixed bending forces for cloth springs.
Revision 6d4c704 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Correctly implemented and verified gravity, drag, structural springs.
Revision f336ca5 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Minor fix in debug print, so solver prints can be diff'ed.
Revision b241f23 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
A couple of defines to disable various influences on the cloth sim for
debugging.
Revision 1819cbd by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Debug printing code for large sparse vectors and matrices, to compare
solver input/output of the old and new methods.
Revision 8283122 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Added a new internal header for implicit solver defines.

Should become its own intern wrapper library eventually.
Revision 7896827 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Reenabled air drag force for cloth sim.
Revision e0b46b1 by Lukas Toenne
January 20, 2015, 08:29 (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 8163fca by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Switched to the modified CG method that supports constraints, and
added back structural stretch springs.
Revision c6a65ff by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Implemented a modifier conjugate gradient algorithm to support stable
constraining.

The algorithm is described in the paper "Large Steps in Cloth Simulation"
(Baraff/Witkin 1998). The same method was (incorrectly) implemented in
the old cloth solver.

It is based on restricting the degrees of freedom (ndof) of vertices
using a block matrix and a vector of target velocity deltas.
See chapter 5 of the paper for details.
Revision 722fd30 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Reimplemented Goal springs for the Eigen CG solver method.

Note that goal springs currently are really bad ... They have a factor
on hairs that "fades" goal influence from the root to the tip. The last
point on the hair is completely free, which makes the goal springs
pretty much useless on their own without supporting bend stiffness.
Can only assume this was added to compensate unphysical behavior of
goal springs when using uniform weight, but it's a poor replacement for
true localized bending forces ...
Revision d2c0503 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
To make gravity a true force vector, multiply by the mass.
Revision 8313735 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Alternative new solver for cloth using the Eigen CG solver instead of
a custom built solver.

The old cloth solver is broken unfortunately. Eigen is a designated
linear algebra library and very likely their implementation is a lot
better (can't compare until it's implemented though).

Only basic gravity is active atm, spring forces, external force fields,
damping and volumetric friction have to be added back by converting
the data into the Eigen format.
Revision 396f7ea by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Don't try to enforce a velocity change for pinned vertices; their
velocity is defined externally by hair root motion.
Revision d1cb8b0 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Use squareroot of the current epsilon error target for CG, since we
square this value anyway.
Revision 8ec4c31 by Lukas Toenne
January 20, 2015, 08:29 (GMT)
Disabled collision culling on the inside of the collider faces for now,
this seems to remove too many contact points somehow ...
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021