summaryrefslogtreecommitdiff
path: root/engine/src/rendering/backend
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/rendering/backend')
-rw-r--r--engine/src/rendering/backend/opengl.rs15
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,