Blender Git Commits

Blender Git "hair_system" branch commits.

Page: 23 / 35

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.
September 11, 2014, 12:15 (GMT)
Cleanup, removed unused old code.
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.
September 10, 2014, 21:11 (GMT)
Added back external effector forces for the cloth solver.
September 10, 2014, 19:06 (GMT)
Reenabled goal springs and removed the arbitrary structural scaling
factor.
September 10, 2014, 17:14 (GMT)
Fixed bending forces for cloth springs.
September 10, 2014, 16:55 (GMT)
Correctly implemented and verified gravity, drag, structural springs.
September 10, 2014, 15:10 (GMT)
Minor fix in debug print, so solver prints can be diff'ed.
September 10, 2014, 14:59 (GMT)
A couple of defines to disable various influences on the cloth sim for
debugging.
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.
September 10, 2014, 12:30 (GMT)
Added a new internal header for implicit solver defines.

Should become its own intern wrapper library eventually.
September 9, 2014, 10:36 (GMT)
Reenabled air drag force for cloth sim.
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.
September 8, 2014, 17:03 (GMT)
Switched to the modified CG method that supports constraints, and
added back structural stretch springs.
September 8, 2014, 10:31 (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.
September 5, 2014, 15:07 (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 ...
September 5, 2014, 11:02 (GMT)
To make gravity a true force vector, multiply by the mass.
September 5, 2014, 10:48 (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.
September 4, 2014, 17:58 (GMT)
Don't try to enforce a velocity change for pinned vertices; their
velocity is defined externally by hair root motion.
September 4, 2014, 17:57 (GMT)
Use squareroot of the current epsilon error target for CG, since we
square this value anyway.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021