Blender Git Commits

Blender Git "hair_object" branch commits.

Page: 21 / 23

April 20, 2015, 10:14 (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.

Conflicts:
source/blender/blenkernel/intern/customdata.c
source/blender/makesdna/DNA_customdata_types.h
April 20, 2015, 10:14 (GMT)
New customdata type for mesh surface samples.

Conflicts:
source/blender/makesdna/DNA_customdata_types.h
April 20, 2015, 10:13 (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).

Conflicts:
source/blender/blenkernel/intern/customdata.c
source/blender/makesdna/DNA_customdata_types.h
April 20, 2015, 10:12 (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.
April 20, 2015, 10:11 (GMT)
Store hair edit data in particle systems and manage it in the operator
for entering/exiting the edit mode.

Conflicts:
source/blender/blenkernel/intern/particle.c
April 20, 2015, 10:11 (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.

Conflicts:
source/blender/blenkernel/CMakeLists.txt
April 20, 2015, 10:11 (GMT)
New edit mode for hair.

Conflicts:
source/blender/blenloader/intern/readfile.c
April 20, 2015, 10:10 (GMT)
New editor library for hair edit mode.
April 20, 2015, 10:10 (GMT)
Minor syntax fix.
April 20, 2015, 10:10 (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.
April 20, 2015, 10:10 (GMT)
More work on particle conversion methods for hair edit mode.
April 20, 2015, 10:10 (GMT)
Finished the particle-to-edit conversion function.
April 20, 2015, 10:10 (GMT)
Added a bool return to the eval function to give feedback on invalid
samples.
April 20, 2015, 10:10 (GMT)
Added a basic RNA definition for the mesh sampling system.
April 20, 2015, 10:10 (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.
April 20, 2015, 10:10 (GMT)
Usable random distribution algorithm.

Does not include area weighting yet.
April 20, 2015, 10:10 (GMT)
Added generalized method for creating an array of mesh samples with
arbitrary stride.
April 20, 2015, 10:10 (GMT)
Eval function to get a location and normal vector from mesh samples.
April 20, 2015, 10:10 (GMT)
Normalize the normal vector after sample eval to account for
interpolation.
April 20, 2015, 10:10 (GMT)
Skeleton code for sampling meshes.

Conflicts:
source/blender/blenkernel/CMakeLists.txt
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021