Forgot to clean some VAOs.
This commit is contained in:
@@ -19,6 +19,30 @@ const core::vector3df& scale) :
|
||||
firstTime = true;
|
||||
}
|
||||
|
||||
void STKAnimatedMesh::cleanGLMeshes()
|
||||
{
|
||||
for (u32 i = 0; i < GLmeshes.size(); ++i)
|
||||
{
|
||||
GLMesh mesh = GLmeshes[i];
|
||||
if (!mesh.vertex_buffer)
|
||||
continue;
|
||||
if (mesh.vao_first_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_first_pass));
|
||||
if (mesh.vao_second_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_second_pass));
|
||||
if (mesh.vao_glow_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_glow_pass));
|
||||
if (mesh.vao_displace_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_displace_pass));
|
||||
if (mesh.vao_displace_mask_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_displace_mask_pass));
|
||||
if (mesh.vao_shadow_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_shadow_pass));
|
||||
glDeleteBuffers(1, &(mesh.vertex_buffer));
|
||||
glDeleteBuffers(1, &(mesh.index_buffer));
|
||||
}
|
||||
}
|
||||
|
||||
void STKAnimatedMesh::setMesh(scene::IAnimatedMesh* mesh)
|
||||
{
|
||||
firstTime = true;
|
||||
|
||||
@@ -18,6 +18,7 @@ protected:
|
||||
core::matrix4 ModelViewProjectionMatrix, TransposeInverseModelView;
|
||||
void drawSolidPass1(const GLMesh &mesh, GeometricMaterial type);
|
||||
void drawSolidPass2(const GLMesh &mesh, ShadedMaterial type);
|
||||
void cleanGLMeshes();
|
||||
public:
|
||||
STKAnimatedMesh(irr::scene::IAnimatedMesh* mesh, irr::scene::ISceneNode* parent,
|
||||
irr::scene::ISceneManager* mgr, irr::s32 id,
|
||||
|
||||
@@ -105,6 +105,10 @@ void STKMeshSceneNode::cleanGLMeshes()
|
||||
glDeleteVertexArrays(1, &(mesh.vao_glow_pass));
|
||||
if (mesh.vao_displace_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_displace_pass));
|
||||
if (mesh.vao_displace_mask_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_displace_mask_pass));
|
||||
if (mesh.vao_shadow_pass)
|
||||
glDeleteVertexArrays(1, &(mesh.vao_shadow_pass));
|
||||
glDeleteBuffers(1, &(mesh.vertex_buffer));
|
||||
glDeleteBuffers(1, &(mesh.index_buffer));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user