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