diff options
| author | HampusM <hampus@hampusmat.com> | 2026-07-10 16:33:23 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-07-10 16:33:23 +0200 |
| commit | c275adc57454051aa915bb7f470ff9dac3427dd6 (patch) | |
| tree | 43a932d76c64b0f884cf0c10b23ef776c817b050 /engine/src/rendering | |
| parent | d68adea2554981da9dee593bf8a4b9455ca4d636 (diff) | |
feat(engine): add RemoveTexture rendering command
Diffstat (limited to 'engine/src/rendering')
| -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, |
