diff options
Diffstat (limited to 'source/gameengine/Converter/BL_ModifierDeformer.cpp')
-rw-r--r-- | source/gameengine/Converter/BL_ModifierDeformer.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/source/gameengine/Converter/BL_ModifierDeformer.cpp b/source/gameengine/Converter/BL_ModifierDeformer.cpp index 7e64d16d012..71dc1bdec87 100644 --- a/source/gameengine/Converter/BL_ModifierDeformer.cpp +++ b/source/gameengine/Converter/BL_ModifierDeformer.cpp @@ -197,6 +197,15 @@ bool BL_ModifierDeformer::Update(void) } m_lastModifierUpdate=m_gameobj->GetLastFrame(); bShapeUpdate = true; + + int nmat = m_pMeshObject->NumMaterials(); + for (int imat=0; imat<nmat; imat++) { + RAS_MeshMaterial *mmat = m_pMeshObject->GetMeshMaterial(imat); + RAS_MeshSlot **slot = mmat->m_slots[(void*)m_gameobj]; + if (!slot || !*slot) + continue; + (*slot)->m_pDerivedMesh = m_dm; + } } return bShapeUpdate; } @@ -206,14 +215,5 @@ bool BL_ModifierDeformer::Apply(RAS_IPolyMaterial *mat) if (!Update()) return false; - // drawing is based on derived mesh, must set it in the mesh slots - int nmat = m_pMeshObject->NumMaterials(); - for (int imat=0; imat<nmat; imat++) { - RAS_MeshMaterial *mmat = m_pMeshObject->GetMeshMaterial(imat); - RAS_MeshSlot **slot = mmat->m_slots[(void*)m_gameobj]; - if (!slot || !*slot) - continue; - (*slot)->m_pDerivedMesh = m_dm; - } return true; } |