diff options
Diffstat (limited to 'engine/src/rendering/backend')
| -rw-r--r-- | engine/src/rendering/backend/opengl.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engine/src/rendering/backend/opengl.rs b/engine/src/rendering/backend/opengl.rs index 0323f29..2394acf 100644 --- a/engine/src/rendering/backend/opengl.rs +++ b/engine/src/rendering/backend/opengl.rs @@ -708,6 +708,21 @@ fn handle_commands( tracing::error!("Failed to create texture object: {err}"); } } + Command::RemoveTexture(texture_object_id) => { + let Some(texture_object) = + object_store.remove(&texture_object_id).flatten() + else { + tracing::error!( + object_id=?texture_object_id, + "Object store does not contain a texture object with this ID" + ); + continue; + }; + + let gl_texture = GlTexture::from_raw(texture_object.as_raw()); + + gl_texture.delete(gl_context); + } Command::CreateMesh { obj_id: mesh_object_id, mesh, |
