Blender Git Commits

Blender Git "hair_system" branch commits.

Page: 26 / 35

August 27, 2014, 16:12 (GMT)
Fixed hair velocity smoothing.

This is an important hair interaction feature that simulates friction
between hairs in an efficient way. The method is based on the paper
"Volumetric Methods for Simulation and Rendering of Hair"
( http://graphics.pixar.com/library/Hair/paper.pdf )

It was partially implemented already, but didn't work in this simplified
version. The same voxel structure can be used for implemeting repelling
forces on hair based on density, which can help a hair system maintain
volume instead of collapsing in on itself.
August 27, 2014, 12:11 (GMT)
Support for various data properties of the hair grid in the voxel
texture.
August 27, 2014, 10:33 (GMT)
Fixed voxel grid initialization from hair points and colliders by using
the suggested tent function from the original paper.

Plain float->int conversion for the grid location otherwise leads to
skewed data and unnecessary loss of information.
August 27, 2014, 10:33 (GMT)
New voxel texture mode "Hair", for displaying the internal hair volume
structure as a texture.

This is mostly a debugging feature that may be removed again later.
August 27, 2014, 10:33 (GMT)
Code cleanup: Use a variable-sized array for the hair volume velocity
smoothing and collision code, split into multiple functions.
August 25, 2014, 15:43 (GMT)
Renamed t0/t1 times to clarify their meaning.

These are usually a larger time interval than the time step, they define
the interpolation for root animation.
August 25, 2014, 15:34 (GMT)
Fixed missing variable assignment when calculating hair root animation
for particle hair.
August 25, 2014, 09:55 (GMT)
Hair root normals need to be renormalized after transformation to world
space, since the obmat can introduce scaling.
August 24, 2014, 16:54 (GMT)
Voxel texture mode "Hair" for displaying hair volume data.

Currently only a dummy attribute "randomstuff" exists, this will be
replaced by actual hair data (density and filtered velocities).
August 24, 2014, 14:47 (GMT)
Hair debug function which copies voxel data to a C struct based on
solver data.
August 24, 2014, 13:43 (GMT)
Simple volume instance owned by the hair solver.
August 24, 2014, 13:38 (GMT)
Create hair threads in a separate function.
August 24, 2014, 13:24 (GMT)
Use a separate variable for incrementing time during substeps.

Currently this has no effect, but better to avoid using the wrong
time value after force substeps.
August 24, 2014, 13:15 (GMT)
Fix for meaningless position updates during the force integration loop.

Setting the "next" state of positions inside that loop will overwrite
its own result until the last iteration. The velocities are still
integrated correctly though, only the position update was applied
incorrectly. Force calculation was also using the larger original time
step.

The fix now exposes an awkward dependency of stiffness and damping
values on the substep count. This is entirely expected, but it might
be a good idea to scale user-defined values by the inverse timestep,
so that results are comparable and can be tweaked more easily when
increasing/decreasing substeps.
August 24, 2014, 11:54 (GMT)
Distinguish nominal and allocated size of hair volume attributes.

This allows keeping extra memory around for later use instead of freeing
every time the attribute needs to be resized (compare to std::vector).
August 24, 2014, 11:34 (GMT)
Added a basic volume data structure for hair simulation.

Using volumetric description of certain hair simulation quantities
allows very efficient calculation of otherwise costly effects, such as
hair-hair collisions (at the price of reduced accuracy).
August 24, 2014, 09:11 (GMT)
Merge branch 'master' into hair_system
August 22, 2014, 17:35 (GMT)
Take care of at least some of the crashes experienced during Gooseberry
meeting.
August 22, 2014, 17:24 (GMT)
wipwipwip
August 22, 2014, 17:24 (GMT)
WIP inverse transform, still misbehaving
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021