diff options
| -rw-r--r-- | engine/src/rendering/backend/opengl.rs | 14 | ||||
| -rw-r--r-- | engine/src/rendering/object.rs | 22 |
2 files changed, 11 insertions, 25 deletions
diff --git a/engine/src/rendering/backend/opengl.rs b/engine/src/rendering/backend/opengl.rs index f40cb20..5ffcc4a 100644 --- a/engine/src/rendering/backend/opengl.rs +++ b/engine/src/rendering/backend/opengl.rs @@ -688,17 +688,25 @@ fn handle_commands( if let ShaderBindingValue::Texture(texture_object_id, _) = &binding_value { - let Some(texture_obj) = - object_store.get_texture_obj(texture_object_id) + let Some(texture_obj) = object_store.get_obj(texture_object_id) else { tracing::error!( texture_object_id = ?texture_object_id, - "Texture does not exist in rendering object store", + "Texture object does not exist in rendering object store", ); continue; }; + if texture_obj.kind() != ObjectKind::Texture { + tracing::error!( + texture_object_id = ?texture_object_id, + "Object in rendering object store is not a texture", + ); + + continue; + } + let gl_texture = GlTexture::from_raw(texture_obj.as_raw()); gl_texture diff --git a/engine/src/rendering/object.rs b/engine/src/rendering/object.rs index 8d8e634..8948736 100644 --- a/engine/src/rendering/object.rs +++ b/engine/src/rendering/object.rs @@ -59,28 +59,6 @@ impl Store self.objects.get(id).and_then(|obj| obj.as_ref()) } - pub fn get_texture_obj(&self, id: &Id) -> Option<&Object> - { - let obj = self.get_obj(id)?; - - if !matches!(obj.kind(), Kind::Texture) { - return None; - } - - Some(obj) - } - - pub fn get_shader_program_obj(&self, id: &Id) -> Option<&Object> - { - let obj = self.get_obj(id)?; - - if !matches!(obj.kind(), Kind::ShaderProgram) { - return None; - } - - Some(obj) - } - pub fn contains_maybe_pending_with_id(&self, id: &Id) -> bool { self.objects.contains_key(id) |
