Revision 121677d 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:22 (GMT) |
Nicer vector math for mouse coordinates. |
Revision 1615da1 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:22 (GMT) |
Simplified first version of the hair stroke combing functionality. Stroke tools will be categorized by the hair elements they operate on: vertices, segments or strands (roots). In addition to that a filter function defines the influence of the brush. This should be defined by the other brush settings and be largely independent of the main tool mode. |
Revision 83b20c7 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:22 (GMT) |
Enforce hair constraints (constant segment length) after applying a tool. Currently uses the same approach as old particle edit mode (rescale hair segments from the root on). A more sophisticated approach using least-square error minimization of the displacement could yield better results. |
Revision 7ae6492 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:21 (GMT) |
Lots of small fixes for paint system quirks to make hair brushes work in the UI. Conflicts: release/scripts/startup/bl_ui/space_view3d.py source/blender/editors/transform/manipulator_widget.c |
Revision 7779166 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:19 (GMT) |
Define hair edit settings and brush types in the RNA, similar to paint and sculpt settings. Conflicts: source/blender/makesdna/DNA_brush_types.h |
Revision 0a27e97 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:17 (GMT) |
Fix for GL buffer size for edges, needs to 2x for two vertex indices. |
Revision 4fd6a7a 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:17 (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. |
Revision 7995915 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:17 (GMT) |
Calculate some basic info about mouse strokes and context and pass it on to a general hair tool function. |
Revision 7b6332f 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:17 (GMT) |
Apply the hair matrices when converting from particle keys to bmesh, so the edit data is consistently in object space. |
Revision 833a11f 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:17 (GMT) |
New image file icons for hair brush tools and an according tool enum in the Brush RNA. |
Revision 98b15d9 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:17 (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. |
Revision a889a14 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:17 (GMT) |
Missing bmesh include folder for hair editor in scons. |
Revision eb52570 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:17 (GMT) |
New drawing code for hair edit mode. Conflicts: source/blender/editors/space_view3d/drawobject.c source/blender/editors/space_view3d/view3d_intern.h |
Revision 23b2843 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:15 (GMT) |
Removed deprecated code. |
Revision 2d79994 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:15 (GMT) |
Free strand edit memory after use. |
Revision 4e47239 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:15 (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. |
Revision dc43df8 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:15 (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. |
Revision fd34e3e 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:15 (GMT) |
Fix for verts-of-strand iterator: This requires a second pointer in addition to the edge, otherwise the last point is omitted. |
Revision 991ee8a 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:15 (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. Conflicts: source/blender/bmesh/intern/bmesh_interp.c |
Revision 1afd5be 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:14 (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). |
|