Revision 5f6d9e3 by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) August 21, 2015, 14:45 (GMT) |
Implementation of Volume Sampling on meshes. Based on the ray casting technique described here: http://www.joesfer.com/?p=84 Volume samples currently are not bound to mesh deformation in any way, they are simple object-space locations. Potentially a harmonic weight approach as in mesh cages could be used. |
Revision 05281ab by Lukas Toenne (hair_guides, hair_guides_grooming, hair_object, strand_editmode, strand_gpu, strand_nodes, tmp_hair_curves) August 21, 2015, 13:07 (GMT) |
Merge branch 'master' into mesh_samples Conflicts: release/datafiles/locale release/scripts/addons source/blender/blenkernel/CMakeLists.txt |
Revision 38d9301 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) May 5, 2015, 12:27 (GMT) |
Another fix for mirror editing of strand data. Currently strand edit mode tool use the object data 'x mirror' flag. This flag is only available on mesh objects, but the strand editing can be used for dupli override caches etc. as well. Eventually strand editing should get it's own independent flag to avoid this problem. |
Revision fbc70fa 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) May 5, 2015, 12:03 (GMT) |
Fix for call to mirror functions when mirroring is not enabled, giving warnings. |
Revision d52bdb6 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) May 4, 2015, 16:37 (GMT) |
Moved particle related functions of the strands edit mode into a separate file. This may seem a bit like overkill, but it helps ensure that no particle depedencies messes up the strand editing code. The same will be done for other use cases of the strand editing code in the future. |
Revision 16b6d6c 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) May 4, 2015, 15:52 (GMT) |
Added missing CD layer type name for MSurfaceSample. |
Revision bf7e8b4 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) May 4, 2015, 15:14 (GMT) |
Merge branch 'master' into strand_editmode Conflicts: source/blender/bmesh/bmesh_class.h source/blender/bmesh/intern/bmesh_mesh_conv.h |
Revision 20e9602 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:59 (GMT) |
Particle shapekey code is only in the gooseberry branch, disabled here. |
Revision 9cafd3a 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:58 (GMT) |
SimDebugData is now global, for easier usage and less intrusive code. |
Revision 0dccffb 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:37 (GMT) |
Fix for CustomDataType syntax error from merging. |
Revision 3a3327d 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:25 (GMT) |
Cleanup: rename function argument for consistency. |
Revision 7719a63 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:25 (GMT) |
Use the X mirror option in new strand edit stroke brush tools. Note that currently this has virtually no effect, because the mirror option relies on exact positions of vertices, which does not happen with random hair placement (the add brush has no mirror option yet). Eventually topological mirroring should help with this case, but is not implemented for either old or new strand edit yet. |
Revision 8ffcd1f 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:25 (GMT) |
Utility methods for mirrored strand editing. These are a modified version of their BMEditMesh counterparts. use_topology is not yet implemented for strands. Native strand topology is not very useful for this. Instead, the topology of the scalp mesh should be used for finding mirrored strand roots, then the arc- or parametric length of a vertex from the root to find mirrored verts. Conflicts: source/blender/blenkernel/BKE_editstrands.h |
Revision 5b9b779 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:24 (GMT) |
Minor code reshuffling. |
Revision ed1dc43 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:24 (GMT) |
Fix for strands undo creating an invalid BMesh. When copying mesh data to bmesh the MVERT and similar customdata types have to be omitted. Otherwise the bmesh instance ends up with NULL pointers in customdata layers, but entries in the typemap != -1. The effect was that when storing new steps after one or more undo, the resulting original data would be copied, and subsequent undo steps are ignored. |
Revision 299859e 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:24 (GMT) |
Sanity check: if there is no edited/active object for an undo step, consider it invalid and clean up. |
Revision 3f539c9 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:24 (GMT) |
Removed deprecated UI button for the hair debug flag. |
Revision 4798464 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:24 (GMT) |
Extended Mesh <-> BMesh copy function versions for specifying custom data masks explicitly. A dummy mesh is used for strand edit undo storage like in mesh edit to prevent unnecessary code duplication. However, when copying from/to BMesh only the mesh data layers are copied by default, omitting the new data layers for strands (currently only MSurfaceSample hair root data). |
Revision 5e42aff 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:24 (GMT) |
Basic undo support in the new strand edit mode. This uses the generalized undo stack system which is also used for object data edit. An extension is necessary to tell the undo functions which object is specifically used for generating undo data and identifying the stack, since strand editing does not edit the obdata itself. |
Revision 2cddc3c 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:24 (GMT) |
Disabled the partial IK strand relaxation for the time being. First goal is to reproduce current particle edit tools in the strand edit mode, then make improvements. |
|