diff options
| author | HampusM <hampus@hampusmat.com> | 2026-03-29 20:46:09 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-03-29 20:46:09 +0200 |
| commit | 9323b9724dce4021745c14763c6ff12fabc40bad (patch) | |
| tree | 116580bc467c8a2bb950cf930243a1620b6bc6d1 | |
| parent | bb8fad66f4b839a5b0bbc8a81ac4a080dbe8575c (diff) | |
fix(engine): prevent shaders using UBOs for other shaders
| -rw-r--r-- | engine/src/renderer/opengl.rs | 16 |
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 |
