Blender Git Commits

Blender Git "temp_merge_gooseberry_hair" branch commits.

Page: 6 / 11

January 19, 2015, 17:47 (GMT)
Updating Eigen implicit dynamics solver implementation to adhere to the
new mass-spring solver API.

Conflicts:
source/blender/physics/intern/implicit_eigen.cpp
January 19, 2015, 17:44 (GMT)
Fix for inverted condition: hair data needs to be rebuilt when the
cloth DM does not exist.
January 19, 2015, 17:39 (GMT)
Cleanup: Removed the unnecessary cloth solver abstraction (there is only
one solver anyway), and split some particle cloth functions for clarity.

Conflicts:
source/blender/blenkernel/BKE_particle.h
source/blender/blenkernel/intern/particle_system.c
source/blender/blenloader/intern/versioning_270.c
source/blender/makesdna/DNA_particle_types.h
source/blender/makesrna/intern/rna_particle.c
January 19, 2015, 17:25 (GMT)
enum instead of #define for cloth vertex flags.
January 19, 2015, 17:24 (GMT)
Removed accidentally committed debug print.
January 19, 2015, 17:24 (GMT)
Use the generic task scheduler for threaded particle tasks, i.e.
distribution and path caching for child particles.

This gives a significant improvement of viewport playback performance
with higher child particle counts. Particles previously used their own
threads and had a rather high limit for threading. Also threading
apparently was disabled because only 1 thread was being used ...
January 19, 2015, 17:24 (GMT)
Removed block matrix indices storage from ClothSpring struct.

This is not necessary: the implicit solver data can keep track instead
of how many off-diagonal matrix blocks are in use (provided the
allocation limit is calculated correctly). Every time a spring is
created it then simply increments this counter and uses the block index
locally - no need to store this persistently.
January 19, 2015, 17:24 (GMT)
Removed unused force arguments for angular bending springs and avoid
redundant calculation for counterforces.
January 19, 2015, 17:22 (GMT)
Guide hair drawing for hair particles.

Without this the particle system only shows the actual non-simulated
hairs ("guide hairs") during edit mode. These hairs are used for goals
as well, so showing them in the regular viewport is pretty important.

Also the usual hair curves are interpolated along the entire length,
which makes it very difficult to see exact vertex positions, unless
using exact powers of 2 for the segment number and match the display
steps.

Conflicts:
source/blender/blenkernel/intern/particle.c
January 19, 2015, 17:10 (GMT)
Improved child hair curling for interpolated child particles.

The curl radius for children in interpolated mode was calculated using
the total offset from the parent particle. This leads to very large
radii when the distance is large due to sparse parents. Such behavior is
also very unrealistic because the curl radius is mostly constant and
defined by the material properties.

All the child hairs are roughly parallel by default. To simulate the
agglomeration of children into hair wisps the "flatness" parameter is
now used to clump them together.
January 19, 2015, 17:10 (GMT)
Cloth solver data for edit mode is unused, removed it.
January 19, 2015, 17:10 (GMT)
Fix for scons files missing physics include folder.
January 19, 2015, 17:09 (GMT)
Added separate damping for bending springs.

The bend damping factor was hardcoded to the same value as the stiffness.
Now it has its own factor in the settings and button in hair dynamics.
January 19, 2015, 17:09 (GMT)
Set the length threshold for hair simulation to 10% again (from 1%).

With the default 5 substeps the simulation can otherwise still become
unstable. This is just a preliminary measure anyway until the length
variance can be fixed properly.
January 19, 2015, 17:09 (GMT)
Fix for outdated root array size when changing the particle amount
during simulation.
January 19, 2015, 17:09 (GMT)
Fix for hair chain testing in the cloth modifier.

Bending springs are en-bloc and not interleaved with other springs, so
this can't be used as a test for hair roots. Use consecutive indices
instead.
January 19, 2015, 17:09 (GMT)
Completed the implementation of bent rest shapes for hair.

Basically follows the Pixar approach from "Artistic Simulation of Curly
Hair".
January 19, 2015, 17:09 (GMT)
Target calculation for local non-straight rest shapes.

This is more involved than using simple straight bending targets
constructed from the neighboring segments, but necessary for restoring
groomed rest shapes.

The targets are defined by parallel-transporting a coordinate frame
along the hair, which smoothly rotates to avoid sudden twisting (Frenet
frame problem). The rest positions of hair vertices defines the target
vectors relative to the frame. In the deformed motion state the frame
is then recalculated and the targets constructed in world/root space.
January 19, 2015, 17:09 (GMT)
Have to include BLI_utildefines before BKE_collision now to have bool
defined.
January 19, 2015, 17:08 (GMT)
Clear forces and constraints together at the start of the time step,
easier to verify.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021