From b7757ab410c99c35550327d896fcf5723aa9a09a Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 6 Aug 2026 15:45:47 +0200 Subject: refactor(engine): make SetShaderBinding rendering command take shader::Binding --- engine/src/rendering/backend/opengl.rs | 10 ++++++++-- engine/src/rendering/main_render_pass.rs | 30 +++++++++--------------------- engine/src/rendering/shader/cursor.rs | 5 ----- 3 files changed, 17 insertions(+), 28 deletions(-) (limited to 'engine/src/rendering') diff --git a/engine/src/rendering/backend/opengl.rs b/engine/src/rendering/backend/opengl.rs index f88fe38..be977f9 100644 --- a/engine/src/rendering/backend/opengl.rs +++ b/engine/src/rendering/backend/opengl.rs @@ -93,7 +93,10 @@ use crate::rendering::object::{ RawValue as ObjectRawValue, Store as ObjectStore, }; -use crate::rendering::shader::cursor::BindingValue as ShaderBindingValue; +use crate::rendering::shader::cursor::{ + Binding as ShaderBinding, + BindingValue as ShaderBindingValue, +}; use crate::rendering::shader::{ Context as ShaderContext, Error as ShaderError, @@ -608,7 +611,10 @@ fn handle_commands( activated_gl_shader_program = Some((shader_program_obj_id, gl_shader_program)); } - Command::SetShaderBinding(binding_location, binding_value) => { + Command::SetShaderBinding(ShaderBinding { + location: binding_location, + value: binding_value, + }) => { let Some((activated_gl_shader_program_obj_id, _)) = &activated_gl_shader_program else { diff --git a/engine/src/rendering/main_render_pass.rs b/engine/src/rendering/main_render_pass.rs index b318f1a..60bed03 100644 --- a/engine/src/rendering/main_render_pass.rs +++ b/engine/src/rendering/main_render_pass.rs @@ -9,7 +9,6 @@ use crate::ecs::Query; use crate::error; use crate::model::{MaterialSearchResult, Model}; use crate::rendering::object::{Id as ObjectId, Store as ObjectStore}; -use crate::rendering::shader::cursor::Binding as ShaderBinding; use crate::rendering::shader::default::ASSET_LABEL as DEFAULT_SHADER_ASSET_LABEL; use crate::rendering::shader::{ Context as ShaderContext, @@ -184,33 +183,22 @@ pub fn add_main_render_passes( } } - for ShaderBinding { - location: shader_binding_loc, - value: shader_binding_val, - } in &pending_shader_bindings.bindings - { - render_pass.commands.push(Command::SetShaderBinding( - shader_binding_loc.clone(), - shader_binding_val.clone(), - )); + for shader_binding in &pending_shader_bindings.bindings { + render_pass + .commands + .push(Command::SetShaderBinding(shader_binding.clone())); } - for ( - shader_binding_surface_id, - ShaderBinding { - location: shader_binding_loc, - value: shader_binding_val, - }, - ) in &pending_shader_bindings.surface_specific_bindings + for (shader_binding_surface_id, shader_binding) in + &pending_shader_bindings.surface_specific_bindings { if *shader_binding_surface_id != surface_spec.id { continue; } - render_pass.commands.push(Command::SetShaderBinding( - shader_binding_loc.clone(), - shader_binding_val.clone(), - )); + render_pass + .commands + .push(Command::SetShaderBinding(shader_binding.clone())); } if let Some(draw_flags) = draw_flags.as_deref().and_then(|draw_flags| { diff --git a/engine/src/rendering/shader/cursor.rs b/engine/src/rendering/shader/cursor.rs index 0f985a7..c54ffc9 100644 --- a/engine/src/rendering/shader/cursor.rs +++ b/engine/src/rendering/shader/cursor.rs @@ -122,11 +122,6 @@ impl<'a> Cursor<'a> value, }) } - - pub fn into_binding_location(self) -> BindingLocation - { - self.binding_location - } } /// Shader cursor location. -- cgit v1.2.3-18-g5258