Blender Git Loki
Git Commits -> Revision 329e2d8
Revision 329e2d8 by Sergey Sharybin (master) January 31, 2011, 20:02 (GMT) |
Todo issue: sculpting on deformed mesh Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating? |
Commit Details:
Full Hash: 329e2d8037050e06d16984924a412e8b32ad4351
SVN Revision: 34587
Parent Commit: 5586523
Lines Changed: +408, -143
53 Modified Paths:
/source/blender/blenkernel/BKE_DerivedMesh.h (+4, -0) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+6, -0) (Diff)
/source/blender/blenkernel/BKE_multires.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_paint.h (+5, -4) (Diff)
/source/blender/blenkernel/BKE_subsurf.h (+0, -1) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+12, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+72, -9) (Diff)
/source/blender/blenkernel/intern/multires.c (+9, -7) (Diff)
/source/blender/blenkernel/intern/object.c (+7, -0) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+9, -53) (Diff)
/source/blender/blenlib/BLI_pbvh.h (+0, -2) (Diff)
/source/blender/blenlib/intern/math_matrix.c (+14, -0) (Diff)
/source/blender/blenlib/intern/pbvh.c (+11, -9) (Diff)
/source/blender/editors/include/ED_sculpt.h (+1, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+152, -52) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+4, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+29, -4) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+15, -0) (Diff)
/source/blender/modifiers/intern/MOD_array.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_bevel.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_build.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cloth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_collision.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_decimate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_explode.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_fluidsim.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_hook.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mask.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mirror.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_multires.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_none.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particleinstance.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particlesystem.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_screw.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shapekey.c (+23, -2) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smoke.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_softbody.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_solidify.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_surface.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+1, -0) (Diff)
/source/blenderplayer/bad_level_call_stubs/stubs.c (+1, -0) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+6, -0) (Diff)
/source/blender/blenkernel/BKE_multires.h (+1, -0) (Diff)
/source/blender/blenkernel/BKE_paint.h (+5, -4) (Diff)
/source/blender/blenkernel/BKE_subsurf.h (+0, -1) (Diff)
/source/blender/blenkernel/intern/cdderivedmesh.c (+12, -0) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+72, -9) (Diff)
/source/blender/blenkernel/intern/multires.c (+9, -7) (Diff)
/source/blender/blenkernel/intern/object.c (+7, -0) (Diff)
/source/blender/blenkernel/intern/subsurf_ccg.c (+9, -53) (Diff)
/source/blender/blenlib/BLI_pbvh.h (+0, -2) (Diff)
/source/blender/blenlib/intern/math_matrix.c (+14, -0) (Diff)
/source/blender/blenlib/intern/pbvh.c (+11, -9) (Diff)
/source/blender/editors/include/ED_sculpt.h (+1, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+152, -52) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+4, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+29, -4) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+15, -0) (Diff)
/source/blender/modifiers/intern/MOD_array.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_bevel.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_boolean.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_build.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_cloth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_collision.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_decimate.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_explode.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_fluidsim.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_hook.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mask.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_mirror.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_multires.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_none.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particleinstance.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_particlesystem.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_screw.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_shapekey.c (+23, -2) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smoke.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_softbody.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_solidify.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_subsurf.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_surface.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_uvproject.c (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+1, -0) (Diff)
/source/blenderplayer/bad_level_call_stubs/stubs.c (+1, -0) (Diff)