Blender Git Loki

Blender Git "temp_hair_flow" branch commits.

Page: 4 / 32

December 27, 2014, 10:23 (GMT)
Copied high-level operator code from the paint/sculpt system as a basis
for brush-stroke operators in hair edit mode.

Hopefully this can help avoid some redundant code and ensure consistent
keymapping etc.
December 27, 2014, 10:23 (GMT)
Revert previous hair edit operator scaffolding and port over the old
operator for strokes instead.

The paint system is much too complicated and does not add any real
advantage at this point.
December 27, 2014, 10:23 (GMT)
Calculate some basic info about mouse strokes and context and pass it
on to a general hair tool function.
December 27, 2014, 10:23 (GMT)
New image file icons for hair brush tools and an according tool enum in
the Brush RNA.
December 27, 2014, 10:23 (GMT)
Intermediate commit: switching strand edit data to BMesh.

Hair/Strand editing will only use a subset of the bmesh topology and
expect a specific topology that needs to be verified and enforced.
However, this extra requirement is much less work than reimplementing a
whole edit data system with the same feature set as bmesh and avoids
much redundant code.
December 27, 2014, 10:23 (GMT)
Fix for particle-to-bmesh: only was looping over totvert instead of
pa->totkey.
December 27, 2014, 10:23 (GMT)
Fix for verts-of-strand iterator: After last edge step has to set the
edge to NULL to avoid infinite looping over the same edge (1-elem disk).
December 27, 2014, 10:23 (GMT)
Basic particle data reconstruction when exiting edit mode.
December 27, 2014, 10:23 (GMT)
First customdata layer for particle mass.

This is more for testing purposes, since currently there is only a
single mass property for the psys as a whole. This should change in the
future though, to allow variable mass per strand or vertex.
December 27, 2014, 10:23 (GMT)
Store the hair key weight in edit mode.

Currently particles only have a single weight value, controlling
pinning in the simulation (for root and virtual root verts) and goal
force scaling. This will be replaced by a full vertex group weight
system eventually.
December 27, 2014, 10:23 (GMT)
CustomData layer for storing hair root locations as MSurfaceSamples.

This requires converting the old messy particle num/num_dmcache/fuv/foffset
data into the new mesh samples, which can potentially introduce floating
point errors and inaccuracies due to lack of face index mapping in the
new system. However, in any well-constructed particle system the hair
roots should be nearest to their num face, so mapping would be accurate
enough. If necessary face index data could be added to samples as a
legacy code hack, but probably it's best to eventually replace the
hair system as a whole anyway.
December 27, 2014, 10:23 (GMT)
Fix for verts-of-strand iterator: This requires a second pointer in
addition to the edge, otherwise the last point is omitted.
December 27, 2014, 10:23 (GMT)
Free strand edit memory after use.
December 27, 2014, 10:23 (GMT)
Removed deprecated code.
December 27, 2014, 10:23 (GMT)
New drawing code for hair edit mode.
December 27, 2014, 10:23 (GMT)
Fix for GL buffer size for edges, needs to 2x for two vertex indices.
December 27, 2014, 10:22 (GMT)
New customdata type for mesh surface samples.
December 27, 2014, 10:22 (GMT)
Switched the hair edit data to a bmesh-like structure for consistency.

This means using mempools to store curve and vertex data, which allows
arbitrary addition and removal of data more easily. Also this includes
an iterator system similar to bmesh iterators (although the simpler
topology makes it a lot less complex).
December 27, 2014, 09:59 (GMT)
More work on particle conversion methods for hair edit mode.
December 27, 2014, 09:59 (GMT)
Finished the particle-to-edit conversion function.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021