Blender Git Loki

Blender Git "temp_constraint_volume" branch commits.

Page: 25 / 31

September 22, 2014, 17:27 (GMT)
Proper implementation of angular bending springs including jacobian
derivatives for stabilization.

The bending forces are based on a simplified torsion model where each
neighboring point of a vertex creates a force toward a local goal. This
can be extended later by defining the goals in a local curve frame, so
that natural hair shapes other than perfectly straight hair are
supported.

Calculating the jacobians for the bending forces analytically proved
quite difficult and doesn't work yet, so the fallback method for now
is a straightforward finite difference method. This works very well and
is not too costly. Even the original paper ("Artistic Simulation of
Curly Hair") suggests this approach.
September 22, 2014, 13:29 (GMT)
Gooseberry request, option to turn all waveform display on/off.
September 22, 2014, 12:20 (GMT)
Attempt to fix shader compilation in OSX. strict compilation does not
allow dividing float by integer.
September 21, 2014, 09:48 (GMT)
Unused function declaration.
September 20, 2014, 19:05 (GMT)
Basic solver result feedback from the mass-spring (cloth/hair) solver.

This returns a general status (success/no-convergence/other) along with
basic statistics (min/max/average) for the error value and the number
of iterations. It allows some general estimation of the simulation
quality and detection of critical settings that could become a problem.
Better visualization and extended feedback can follow later.
September 19, 2014, 17:51 (GMT)
Hack to make undo/redo faster in sequencer when using strips with
waveform display.

Basically, we store the waveform. This is not really recommended but
until we have nice threaded creation for the strips that doesn't block
the interface it's a nice solution for gooseverry.

May be wise to limit the undo memory for people who use that because
basically each operation will store a copy of the waveform in the file.
September 19, 2014, 17:15 (GMT)
Merge branch 'master' into terrible_consequencer
September 19, 2014, 14:53 (GMT)
Calculate bending targets based on the direction of previous segments.

This makes the bending a truely local effect. Eventually target
directions should be based in a local coordinate frame that gets
parallel transported along the curve. This will allow non-straight
rest shapes for hairs as well as supporting twist forces. However,
calculating locally transformed spring forces is more complicated.
September 19, 2014, 14:52 (GMT)
Simple debug drawing support inside the implicit solver.
September 19, 2014, 11:07 (GMT)
Widgets API.

This commit has first WIP code for widgets API.
Generally widgets should be registered similar to dropboxes, that is,
any code can query for a widgetmap for a certain space and area type
and the window manager will take care of initializing the handlers
automatically.

The owner will be able remove and readd widgets to a certain widgetmap
dynamically. Generally owners should cleanup their widgets though initial code
cleans up leftover widgets automatically.

All this is the theory still, some parts are in that commit, more to come
later, but it's a solid base to build from for an initial commit.
September 19, 2014, 09:51 (GMT)
Added a damping term for angular bending springs.
September 19, 2014, 09:15 (GMT)
Simple initial implementation of angular bending springs.

These are much better suited for creating stiff hair. The previous
bending springs are based on "push" type spring along the hypothenuse
of 3 hair vertices. This sort of spring requires a very large force
in the direction of the spring for any angular effect, and is still
unstable in the equilibrium.

The new bending spring model is based on "target" vectors defined in a
local hair frame, which generates a force perpendicular to the hair
segment. For further details see
"Artistic Simulation of Curly Hair" (Pixar technical memo #12-03a)
or
"A Mass Spring Model for Hair Simulation" (Selle, Lentine, Fedkiw 2008)

Currently the implementation uses a single root frame that is not yet
propagated along the hair, so the resulting rest shape is not very
natural. Also damping and derivatives are still missing.
September 18, 2014, 19:40 (GMT)
Custom color for SSAO
September 18, 2014, 19:20 (GMT)
Do not calculate SSAO on the background. Saves cycles on pixel shaders
as well as solves issue with SSAO artifacts around grids.
September 18, 2014, 17:42 (GMT)
Replace the dynamic root transform in the implicit solver data with a
single transform matrix.

Dynamic properties of the transformation are only needed during the
setup phase when they should be read from external data (hair system
roots) and generate fictitious forces on each point.
September 18, 2014, 09:27 (GMT)
More scons fixes for physics lib.
September 18, 2014, 09:04 (GMT)
Merge branch 'master' into hair_immediate_fixes
September 18, 2014, 08:35 (GMT)
Fixed scons build files for new physics subfolder.
September 18, 2014, 07:24 (GMT)
Disabled the velocity filtering feature for now, since the weighting is
incorrect.

The voxel grid needs better tool support to make it usable, so fixing
the filtering is not high priority right now.
September 18, 2014, 07:06 (GMT)
Added basic filtering feature for velocity smoothing.

This is part of the original method from "Volumetric Methods for
Simulation and Rendering of Hair". The current filter is a simple box
filter. Other energy-preserving filters such as gaussian filtering
can be implemented later.

The filter size is currently given as a cell count. This is not ideal,
rather it should use a geometrical length value, but this is too
abstract for proper artistical use. Eventually defining the whole grid
in terms of spatial size might work better (possibly using an external
object).
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021