Blender Git Commits

Blender Git "temp_hair_flow" branch commits.

Page: 5 / 32

December 27, 2014, 09:59 (GMT)
New edit mode for hair.
December 27, 2014, 09:59 (GMT)
Moved code for the hair edit data structures to blenkernel.

This makes it work more like editmesh, and avoid the awkward and
basically bad-level approach in particles, where the edit data is an
anonymous pointer in particle systems together with a callback for
freeing.
December 27, 2014, 09:59 (GMT)
Store hair edit data in particle systems and manage it in the operator
for entering/exiting the edit mode.
December 27, 2014, 09:59 (GMT)
Reconstruct most basic particle data when applying the hair edit, so
particle hairs remain visible.

Note that currently the hair root location (num/num_dmcache, fuv, foffset)
is not stored from edit data, so all hairs end up in a default location.
December 27, 2014, 09:58 (GMT)
Skeleton code for sampling meshes.
December 27, 2014, 09:58 (GMT)
Usable random distribution algorithm.

Does not include area weighting yet.
December 27, 2014, 09:58 (GMT)
Eval function to get a location and normal vector from mesh samples.
December 27, 2014, 09:58 (GMT)
Added a basic RNA definition for the mesh sampling system.
December 27, 2014, 09:58 (GMT)
Added a bool return to the eval function to give feedback on invalid
samples.
December 27, 2014, 09:58 (GMT)
Normalize the normal vector after sample eval to account for
interpolation.
December 27, 2014, 09:58 (GMT)
Changed mesh sample definition to use 3 vertex weights instead of a
face index. This is easier to sample uniformly and avoids the need for
tesselation for evaluating.
December 27, 2014, 09:58 (GMT)
Added generalized method for creating an array of mesh samples with
arbitrary stride.
December 27, 2014, 09:58 (GMT)
Shifted the dispatch from the algorithm side to the storage side of the
sampling system to keep the code simple.

Now there is a MSurfaceSampleStorage struct that encodes the storage
details, which the algorithms don't have to care about.
December 27, 2014, 09:58 (GMT)
Minor syntax fix.
December 27, 2014, 09:58 (GMT)
New editor library for hair edit mode.
December 22, 2014, 10:54 (GMT)
Fix for invalid access to undefined hair data in edge-only cloth meshes.

Cloth data is used both for hair and actual cloth, which makes things
really difficult. The face number was used for distinguishing the two
types (no faces == hair mesh), but the extra hair data necessary for
hair sim is generated by particles and not available for edge-only cloth
meshes. This really needs to be sanitized ...
December 19, 2014, 13:56 (GMT)
Presets for hair dynamics.

This is necessary because the hair dynamics settings are not part of the
ParticleSettings datablock, but part of the convoluted cloth modifier
inside the particle system struct. In the future this will be recoded
properly, but in the meantime presets provide a simple an unobtrusive
way to have reusable dynamics settings for hair.
December 19, 2014, 12:37 (GMT)
Merge branch 'master' into gooseberry
December 18, 2014, 12:52 (GMT)
Radical simplification of the wind effect on hair, since the previous
approach does not work very well.

Using a cross section estimate still causes large oscillations due to
varying hair force based on angles. It also requires a sensible hair
thickness value (particle radius) which is difficult to control and
visualize at this point.

The new model is based purely on per-vertex forces, which seems to be
much more stable. It's also somewhat justified by the fact that each
hair vertex represents a certain mass.
December 16, 2014, 18:40 (GMT)
Improved force field effects on hair strands.

The previous calculation was modulated with the angle between the wind
direction and the segments, which leads to very oscillating behavior.

Now the formula includes an estimate for the geometric cross section
of a hair segment based on the incident angle and the hair thickness
(currently just the particle size). This gives a more stable behavior
and more realistic response to wind.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021