Blender Git Loki

Blender Git "hair_guides" branch commits.

Page: 19 / 20

December 1, 2014, 14:10 (GMT)
Mesh sampling system for unified point-on-mesh handling.

This code is not yet used by any feature in master, but has proved very useful in the Gooseberry branch and several WIP patches. Inclusion into master was requested to avoid diverging code in branches and get part of the Gooseberry code merged early on.

The core idea is to have a common way of identifying points on mesh surfaces. Efficient evaluation of such points after deformation and mappable modifiers (e.g. subdivision) tracks positions, normals and other surface attributes. This is used extensively in the particle/hair systems and could be useful for certain tools, duplicators, etc.. Currently the particle systems in particular are very fragile and succeptible to mesh changes because of the unreliable way mesh surface mapping is stored. While the new system at this point uses essentially the same method, it at least provides a centralized DNA type that can be improved easily without too much effort and compatiblity issues.

In addition to evaluating surface samples the system also provides a central place to implement surface sampling algorithms, such as random sampling, ray casting, paint-like tools, etc.

Differential Revision: https://developer.blender.org/D922
December 1, 2014, 13:42 (GMT)
Fix for uninitialized return value.
December 1, 2014, 13:41 (GMT)
Better feedback about valid sample from mesh sampling methods.

Conflicts:
source/blender/editors/object/object_shapekey.c
December 1, 2014, 13:38 (GMT)
New simple storage method for single sample values.
December 1, 2014, 13:36 (GMT)
Generic raycast method for generating mesh surface samples.
December 1, 2014, 13:34 (GMT)
New mesh sample evaluation function for shape key data.
December 1, 2014, 13:29 (GMT)
Merge branch 'mesh_samples' of github.com:lukastoenne/blender into mesh_samples
December 1, 2014, 13:29 (GMT)
Merge branch 'master' into mesh_samples

Conflicts:
release/datafiles/locale
release/scripts/addons
November 30, 2014, 09:08 (GMT)
Merge branch 'master' into mesh_samples

Conflicts:
release/datafiles/locale
release/scripts/addons
September 24, 2014, 15:35 (GMT)
Minor syntax fix.
September 24, 2014, 15:04 (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.
September 24, 2014, 13:58 (GMT)
Added generalized method for creating an array of mesh samples with
arbitrary stride.
September 24, 2014, 13:54 (GMT)
Merge branch 'master' into mesh_samples
March 4, 2014, 14:39 (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.
March 4, 2014, 12:42 (GMT)
Normalize the normal vector after sample eval to account for
interpolation.
March 4, 2014, 12:42 (GMT)
Added a bool return to the eval function to give feedback on invalid
samples.
March 3, 2014, 16:57 (GMT)
Added a basic RNA definition for the mesh sampling system.
March 3, 2014, 13:10 (GMT)
Eval function to get a location and normal vector from mesh samples.
March 3, 2014, 11:36 (GMT)
Usable random distribution algorithm.

Does not include area weighting yet.
March 3, 2014, 10:56 (GMT)
Merge branch 'master' into mesh_samples
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021