diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2011-08-02 03:02:10 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2011-08-02 03:02:10 +0400 |
commit | 03c1585e3a6516c640bec08094178d8c0860a8b6 (patch) | |
tree | 40dbae963ee4c6282d5d9ca86fd7cc8904284db4 /source/gameengine/Converter/BL_SkinDeformer.h | |
parent | 3e85ec432ef050563d75488eca3049b77497153d (diff) |
BGE Animations: 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).
Diffstat (limited to 'source/gameengine/Converter/BL_SkinDeformer.h')
-rw-r--r-- | source/gameengine/Converter/BL_SkinDeformer.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/gameengine/Converter/BL_SkinDeformer.h b/source/gameengine/Converter/BL_SkinDeformer.h index 59047387513..be974619281 100644 --- a/source/gameengine/Converter/BL_SkinDeformer.h +++ b/source/gameengine/Converter/BL_SkinDeformer.h @@ -109,6 +109,7 @@ protected: bool m_releaseobject; bool m_poseApplied; bool m_recalcNormal; + bool m_copyNormals; // dirty flag so we know if Apply() needs to copy normal information (used for BGEDeformVerts()) struct bPoseChannel** m_dfnrToPC; void BlenderDeformVerts(); |