BGE Animations: Adding a new choice for vertex deformation for armatures, which can...
authorMitchell Stokes <mogurijin@gmail.com>
Tue, 26 Jul 2011 06:10:05 +0000 (06:10 +0000)
committerMitchell Stokes <mogurijin@gmail.com>
Tue, 26 Jul 2011 06:10:05 +0000 (06:10 +0000)
commit1f65b3b1a8f5ccc54a794ed0d6f8cf2d3e2c5a36
tree236c1d8475709b45962fd5efa901626a78fedbe0
parent1e0e0ff5c4e88f2ee21c849b151a1899ae4c714f
BGE Animations: Adding a new choice for vertex deformation for armatures, which can be found in the Armature's Skeleton panel by the Deform options. Before only Blender's armature_deform_verts() was used. Now users can choose a vertex deformation function that is optimized for the BGE. At the moment it is mostly a copy of armature_deform_verts() with various chunks of code removed, and the BLI_math code was replaced with Eigen2. In my test scene, the new function offered about a 40% improvement over armature_deform_verts() (17~19ms rasterizer to 11~12ms). The only current limitation that I'm aware of if that B-Bone segments are not supported in the BGE version, and I will probably leave it out. I would like to also limit the BGE version to 4 weights to make things easier for a GPU version, but this may just make things slower (sorting weights to find the top 4).
release/scripts/startup/bl_ui/properties_data_armature.py
source/blender/makesdna/DNA_armature_types.h
source/blender/makesrna/intern/rna_armature.c
source/gameengine/Converter/BL_ArmatureObject.cpp
source/gameengine/Converter/BL_ArmatureObject.h
source/gameengine/Converter/BL_BlenderDataConversion.cpp
source/gameengine/Converter/BL_SkinDeformer.cpp
source/gameengine/Converter/BL_SkinDeformer.h
source/gameengine/Converter/CMakeLists.txt
source/gameengine/Converter/SConscript