Status report time!
What did you do this week?
The current method of recalculating normals after deforming verts for skinning would have been difficult to implement on the GPU, so I wrote a new one as described in my commit:
BGEDeformVerts() now handles normals instead of relying on BL_MeshDeformer::RecalcNormals(), which BlenderDeformVerts() still uses. As expected, the BGEDeformVerts() version isn’t as accurate, but it avoids a sqrt per vertex. This gives about a 15~20% improvement in time spent on the rasterizer in my test scene, which resulted in about 5 more fps. However, the main reason for the new normal code is it will be easier to do on the GPU (doesn’t rely on neighbor information).
I have also been working on fixing issues reported by users: ping pong animations now better match trunk, and I’ve fixed a potential crash when loading older files. There are also some issues with blendin that I still need to fix.
As far as bone physics goes (what I said I’d work on this week), I have a UI option to enable and disable physics on bones (only shows up when the Blender Game render engine is selected). Also, at conversion time, I’ve managed to make capsule physics shapes for all of the bones on an armature and setup bone parents for the shapes. However, some of my math must be off since the physics shapes aren’t quit matching up with the bones yet. I haven’t committed any of the bone physics code since it’s not yet at a usable stage.
What do you plan to do next week?
Next week I’ll continue to work on bone physics and fixing reported issues.
Are there any problems that will require extra attention and what impact will they have on your proposed schedule?
There are currently no problems.
Are there any builds available?
One of the nice things about working with others in the same branch is that there is more interest for that branch, and you can find plenty of Pepper builds on Graphicall.
Thank you to everyone providing builds!