Here below you will find a blender 2.79a (64bits) with the GPU Hardware Skinning patch from Moguri’s thesis (Mitchell Stokes) https://github.com/Moguri/blender/commits/thesis
Version 2.0 with more bones availables (1024 uniforms until 64 bones, 4096 until 128 bones):
NOTE: You have to set the following settings:
- In render panel:
- Always GLSL
- Always Vertex Array as Storage type
- In Armature panel:
- Select BGE GPU as Deform
You have as maximum 128 bones per character (I think that more than enough for current state of art) but this is the maximum fixed by blender sofware.
Additionally, you will have a graphics card maximum. I mean, you have:
- A matrix with bones movement with a (4 x 4) dimension = 16 uniform components per bone
- N bones per character.
Then you use the maximum: 128 bones * 16 components = 2048. If you have a more or less recent NVIDIA card you will have 4096 components available, if you have a less recent or low card or ATI card you will have 1024. (For example, my Nvidia 940m has 1024 only)
Then if you have 1024 component you will have as maximum 64 bones but you would spend all the uniforms (you need them for other things too). Internally, BGE is configured to reserve half of all uniform.
After all this story :-), I summaryze:
If you want that the GPU hardware Skinning works in almost “all” the hardware then use 32 bones or less per character.
Anyway, Internally is coded to use skinning by software if the graphics card doesn’t have enough uniform availables.