Blender Git Loki

Blender Git "temp_merge_gooseberry_hair" branch commits.

Page: 9 / 11

January 19, 2015, 16:55 (GMT)
Option for disabling the root frame transformation altogether, mostly
for testing.
January 19, 2015, 16:55 (GMT)
Ported root frame transformation to the old cloth solver.
January 19, 2015, 16:55 (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.
January 19, 2015, 16:55 (GMT)
Implemented gradient transformation for forces in the root frame (dFdX,
dFdV).
January 19, 2015, 16:55 (GMT)
Removed unused variable.
January 19, 2015, 16:55 (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.
January 19, 2015, 16:55 (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.
January 19, 2015, 16:55 (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.
January 19, 2015, 16:55 (GMT)
Cleanup, removed unused old code.
January 19, 2015, 16:55 (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.
January 19, 2015, 16:55 (GMT)
Added back external effector forces for the cloth solver.
January 19, 2015, 16:55 (GMT)
Reenabled goal springs and removed the arbitrary structural scaling
factor.
January 19, 2015, 16:54 (GMT)
Fixed bending forces for cloth springs.
January 19, 2015, 16:54 (GMT)
Correctly implemented and verified gravity, drag, structural springs.
January 19, 2015, 16:54 (GMT)
Minor fix in debug print, so solver prints can be diff'ed.
January 19, 2015, 16:54 (GMT)
A couple of defines to disable various influences on the cloth sim for
debugging.
January 19, 2015, 16:54 (GMT)
Debug printing code for large sparse vectors and matrices, to compare
solver input/output of the old and new methods.
January 19, 2015, 16:54 (GMT)
Added a new internal header for implicit solver defines.

Should become its own intern wrapper library eventually.
January 19, 2015, 16:54 (GMT)
Reenabled air drag force for cloth sim.
January 19, 2015, 16:54 (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.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021