summaryrefslogtreecommitdiff
path: root/engine/src/renderer
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-03-29 20:46:09 +0200
committerHampusM <hampus@hampusmat.com>2026-03-29 20:46:09 +0200
commit9323b9724dce4021745c14763c6ff12fabc40bad (patch)
tree116580bc467c8a2bb950cf930243a1620b6bc6d1 /engine/src/renderer
parentbb8fad66f4b839a5b0bbc8a81ac4a080dbe8575c (diff)
fix(engine): prevent shaders using UBOs for other shaders
Diffstat (limited to 'engine/src/renderer')
-rw-r--r--engine/src/renderer/opengl.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/engine/src/renderer/opengl.rs b/engine/src/renderer/opengl.rs
index 5ed2aaa..be8abf0 100644
--- a/engine/src/renderer/opengl.rs
+++ b/engine/src/renderer/opengl.rs
@@ -873,15 +873,19 @@ fn handle_commands(
)
.unwrap();
- uniform_buf.bind_to_indexed_target(
- curr_gl_ctx,
- opengl_bindings::buffer::BindingTarget::UniformBuffer,
- binding_index as u32,
- );
-
uniform_buf
});
+ // The index into the uniform buffer binding target is for whatever
+ // shader program is currently bound so the uniform buffer object has
+ // to be re-bound so that a uniform buffer from another shader isn't
+ // used
+ uniform_buffer.bind_to_indexed_target(
+ curr_gl_ctx,
+ opengl_bindings::buffer::BindingTarget::UniformBuffer,
+ binding_index as u32,
+ );
+
let fvec3_value;
uniform_buffer