Revision 7bb90a0 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) 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 |
Revision a9001ad by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:11 (GMT) |
New edit mode for hair. Conflicts: source/blender/blenloader/intern/readfile.c |
Revision 09a7dbc by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
New editor library for hair edit mode. |
Revision 6078e79 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Minor syntax fix. |
Revision 6783b15 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) 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. |
Revision c65f1b2 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
More work on particle conversion methods for hair edit mode. |
Revision dd69a3d by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Finished the particle-to-edit conversion function. |
Revision 308af3b by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Added a bool return to the eval function to give feedback on invalid samples. |
Revision 3f7d66e by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Added a basic RNA definition for the mesh sampling system. |
Revision 4b4f246 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) 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. |
Revision 71e34da by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Usable random distribution algorithm. Does not include area weighting yet. |
Revision 82132fc by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Added generalized method for creating an array of mesh samples with arbitrary stride. |
Revision a952800 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Eval function to get a location and normal vector from mesh samples. |
Revision fe48c35 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Normalize the normal vector after sample eval to account for interpolation. |
Revision 24b7735 by Lukas Toenne (alembic, gooseberry, gooseberry_farm, hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, temp_motionpaths, tmp_hair_curves) April 20, 2015, 10:10 (GMT) |
Skeleton code for sampling meshes. Conflicts: source/blender/blenkernel/CMakeLists.txt |
Revision 62aabdd by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) December 5, 2014, 11:17 (GMT) |
Merge remote-tracking branch 'github_lukastoenne/mesh_samples' into mesh_samples |
Revision 2204bb0 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) December 5, 2014, 10:23 (GMT) |
Merge branch 'master' into mesh_samples |
Revision 8374e08 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) 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 |
Revision 822949a by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) December 1, 2014, 13:42 (GMT) |
Fix for uninitialized return value. |
Revision a86869a by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) December 1, 2014, 13:41 (GMT) |
Better feedback about valid sample from mesh sampling methods. Conflicts: source/blender/editors/object/object_shapekey.c |
|