summaryrefslogtreecommitdiff
path: root/engine/src/rendering/main_render_pass.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-09-02 17:11:00 +0200
committerHampusM <hampus@hampusmat.com>2026-09-02 17:11:00 +0200
commitc73eaff2c345237fc94fb3f0fb28e5144b072358 (patch)
treea201610dafa32ebf3b5a506aa2a4612f64701b17 /engine/src/rendering/main_render_pass.rs
parent12f7283b34b9504cafe9448ede110b1fc2a3ae41 (diff)
feat(engine): improve flexibility of binding shader bindings
Diffstat (limited to 'engine/src/rendering/main_render_pass.rs')
-rw-r--r--engine/src/rendering/main_render_pass.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/engine/src/rendering/main_render_pass.rs b/engine/src/rendering/main_render_pass.rs
index 895517b..3748d2e 100644
--- a/engine/src/rendering/main_render_pass.rs
+++ b/engine/src/rendering/main_render_pass.rs
@@ -357,6 +357,7 @@ pub fn add_main_render_pass(
&point_light_query,
&directional_light_query,
shader_program,
+ ObjectId::Asset(main_3d_shader_asset.id()),
white_1x1_tex_obj_id,
)?;
@@ -463,9 +464,10 @@ pub fn add_main_render_pass(
];
for binding in sky_box_shader_bindings {
- render_pass
- .commands
- .push(Command::SetShaderBinding(binding));
+ render_pass.commands.push(Command::SetShaderBinding(
+ sky_box_ids.shader_object,
+ binding,
+ ));
}
render_pass.commands.push(Command::UpdateDrawProperties(
@@ -502,6 +504,7 @@ fn add_set_3d_shader_bindings(
Traverse<(With<Scene>, With<ActiveScene>), TraverseUp, ChildOf>,
)>,
shader_program: &ShaderProgram,
+ shader_object_id: ObjectId,
white_1x1_tex_obj_id: ObjectId,
) -> Result<(), crate::Error>
{
@@ -620,7 +623,7 @@ fn add_set_3d_shader_bindings(
)?,
]
.into_iter()
- .map(Command::SetShaderBinding),
+ .map(|binding| Command::SetShaderBinding(shader_object_id, binding)),
);
render_pass
@@ -660,7 +663,7 @@ fn add_set_3d_shader_bindings(
.field("quadratic")
.binding(point_light.attenuation_params.quadratic.into())?,
]
- .map(Command::SetShaderBinding),
+ .map(|binding| Command::SetShaderBinding(shader_object_id, binding)),
);
}
@@ -689,7 +692,7 @@ fn add_set_3d_shader_bindings(
.field("direction")
.binding(directional_light.direction.into())?,
]
- .map(Command::SetShaderBinding),
+ .map(|binding| Command::SetShaderBinding(shader_object_id, binding)),
);
}