Bone Heat Weighting
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 28 Jul 2007 14:04:02 +0000 (14:04 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 28 Jul 2007 14:04:02 +0000 (14:04 +0000)
commit373f91c8b169a4f937ba0a2e53c3646e75461ca6
tree603964a24372aa35315e951e8a3c13ba48dd7706
parente765fbf1265b35d4091ddbc9560913dc001c5704
Bone Heat Weighting
===================

This is a new automatic vertex weighting method, next to the existing
envelope based method. The details are here:

http://www.blender.org/development/current-projects/changes-since-244/skinning/

This is based on section 4 of the paper:

"Automatic Rigging and Animation of 3D Characters"
Ilya Baran and Jovan Popovic, SIGGRAPH 2007

Implementation Notes:

- Generic code for making mesh laplacian matrices has been added, which
  is only used by bone heat weighting at the moment.
- Bone to vertex visibility checking is done with the raytracing code.
- Fixed an issue in the subsurf limit calculation function, where the
  position of vertices on boundary edges was wrong. It is still not the
  correct position, but at least it's in the neighbourhood now.
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenlib/BLI_arithb.h
source/blender/blenlib/intern/arithb.c
source/blender/include/BIF_meshlaplacian.h [new file with mode: 0644]
source/blender/include/BIF_poseobject.h
source/blender/src/editarmature.c
source/blender/src/editobject.c
source/blender/src/header_view3d.c
source/blender/src/meshlaplacian.c [new file with mode: 0644]
source/blender/src/poseobject.c