Blender Git Commits

Blender Git "temp_hair_modifiers" branch commits.

Page: 33 / 37

September 15, 2014, 12:18 (GMT)
Added a calculation function for the fictitious forces introduced by
moving hair root reference frames.

This calculates Euler, Coriolis and Centrifugal forces which result
from describing hair in a moving reference frame.
http://en.wikipedia.org/wiki/Fictitious_force
September 15, 2014, 10:51 (GMT)
Fix for own misconception of fictitious forces in the moving hair root
frames.

These forces don't have to be calculated for each individual
contribution. Rather they can be split off and be calculated on top of
the basic force vector rotation (todo).
September 15, 2014, 10:10 (GMT)
Added back spring force definitions outside the implicit solver.

There are currently 3 types of springs: basic linear springs, goal
springs toward a fixed global target (not recommended, but works) and
bending springs.

These are agnostic to the specific spring definition in the cloth system
so hair systems can use the same API without converting everything to
cloth first.
September 14, 2014, 17:36 (GMT)
Main cloth force calculation function outside of implicit core code.

Still misses spring forces.
September 14, 2014, 16:08 (GMT)
Hair volume calculation is now in its own file.

Code is currently disabled until the other main forces are in place.
September 14, 2014, 15:47 (GMT)
Moved the unused goal force calculation function to the main mass-spring
source file.
September 14, 2014, 15:36 (GMT)
Moved most of the main cloth solver function out of implicit code core.

Force calculation is disabled, will follow shortly.
September 14, 2014, 12:16 (GMT)
Moved init/free functions for solver data out of implicit core.

This also initializes spring matrix indices (off-diagonal 3x3 blocks),
which now uses a new API function.
September 14, 2014, 11:23 (GMT)
Moved "set_positions" for cloth out of core implicit solver.

API for the solver now has functions for setting of vertex motion state
and the associated root transform data.
September 13, 2014, 16:45 (GMT)
Renamed functions to make them explicitly refer to cloth, and split the
create/free functions for solver data off from the cloth solver.
September 13, 2014, 12:36 (GMT)
Moved the cloth solver code into a new subfolder/library inside Blender
code.

The implicit solver itself should remain agnostic to the specifics of
the Blender data (cloth vs. hair). This way we could avoid the bloated
data conversion chain from particles/hair to derived mesh to cloth
modifier to implicit solver data and back. Every step in this chain adds
overhead as well as rounding errors and a possibility for bugs, not to
speak of making the code horribly complicated.

The new subfolder is named "physics" since it should be the start of a
somewhat "unified" physics systems combining all the various solvers in
the same place and managing things like synchronized time steps.
September 12, 2014, 17:56 (GMT)
Greatly improved normal calculation using view space position
derivatives.
September 12, 2014, 16:04 (GMT)
Framebuffer FX.

This commit introduces offscreen rendering for the 3D viewport.
There is test code that calculates depth and normal data
in screen space.

Currently just DOF is supported with a few parameters to control the
effect

This code recreates the framebuffer and texture objects every frame
which will make it -slow-. Use at your own risk.
September 12, 2014, 14:46 (GMT)
Desperate attempt to get stable collisions: Disable restitution and
handle only one collision contact at a time.

Collision still randomly explodes, even with differing results on the
same file. This could indicate a threading issue, possibly also related
to the dependency graph since multiple objects are involved in
collisions.
September 12, 2014, 13:48 (GMT)
Revert "Ignore velocity changes when the cloth solver does not converge."

This reverts commit c52b8ae818844965d56714a71255408873275dc1.

Sadly, at this point solver convergence is an exception rather than the
rule... Individual hairs can "explode" easily and thus disable the whole
simulation, which isn't helpful either.
September 12, 2014, 13:02 (GMT)
Ignore velocity changes when the cloth solver does not converge.

This helps keep the simulation stable as long as there are only a few
substeps that become too constrained for the solver.

Eventually we need better feedback about these solver results, so that
artists can tweak situations specifically to resolve bad solver results.
This is somewhat similar to the camera tracker, which also can run into
cases that cannot be resolved and have to be fixed manually.
September 12, 2014, 12:34 (GMT)
Moved collision response into the main cloth sim source file and fixed
some coordinate transform issues.

Collision response should be regarded as part of the dynamics system
instead of the basic collision detection.
September 12, 2014, 10:37 (GMT)
Correction for inverse constraint matrix rotation.
September 12, 2014, 10:30 (GMT)
Transform the constraint matrix and target solver vector z according to
the root frame transforms as well.

This ensures the hair constraints are actually in root space and applied
correctly by the solver.
September 12, 2014, 10:28 (GMT)
Use identity transform in the solver data roots to avoid possible errors
when this data is used outside the transform functions.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021