summaryrefslogtreecommitdiff
path: root/engine/src/ui
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-08-06 15:45:47 +0200
committerHampusM <hampus@hampusmat.com>2026-08-06 15:45:47 +0200
commitb7757ab410c99c35550327d896fcf5723aa9a09a (patch)
treef7e4de21312f680de557c4a16745450ea1c125af /engine/src/ui
parent6471a831e3a929a6922297d4b6176eb43c20b4bd (diff)
refactor(engine): make SetShaderBinding rendering command take shader::Binding
Diffstat (limited to 'engine/src/ui')
-rw-r--r--engine/src/ui/dear_imgui.rs43
1 files changed, 23 insertions, 20 deletions
diff --git a/engine/src/ui/dear_imgui.rs b/engine/src/ui/dear_imgui.rs
index 4bf34c9..60a8da1 100644
--- a/engine/src/ui/dear_imgui.rs
+++ b/engine/src/ui/dear_imgui.rs
@@ -297,7 +297,7 @@ fn update(
shader_asset.clone(),
mesh_obj_id,
&mut mesh,
- );
+ )?;
context.ctx.new_frame();
@@ -473,7 +473,7 @@ fn add_drawing_render_pass(
shader_asset: AssetHandle<ShaderModuleSource>,
mesh_obj_id: RenderingObjectId,
mesh: &mut Mesh,
-)
+) -> Result<(), crate::Error>
{
let render_pass = render_passes.passes.push_back_mut(RenderPass {
commands: Vec::new(),
@@ -641,22 +641,22 @@ fn add_drawing_render_pass(
shader_cursor
.field("Uniforms")
.field("projection")
- .into_binding_location(),
- ShaderBindingValue::FMat4x4(
- OrthographicProjection::builder()
- .near(1.0)
- .far(-1.0)
- .viewport_origin(Vec2 { x: 0.0, y: 1.0 })
- .size(crate::projection::OrthographicSize::WindowSize)
- .build()
- .to_matrix_rh(
- Dimens {
- width: display_width,
- height: -display_height,
- },
- ProjectionClipVolume::NegOneToOne,
- ),
- ),
+ .binding(
+ OrthographicProjection::builder()
+ .near(1.0)
+ .far(-1.0)
+ .viewport_origin(Vec2 { x: 0.0, y: 1.0 })
+ .size(crate::projection::OrthographicSize::WindowSize)
+ .build()
+ .to_matrix_rh(
+ Dimens {
+ width: display_width,
+ height: -display_height,
+ },
+ ProjectionClipVolume::NegOneToOne,
+ )
+ .into(),
+ )?,
),
]);
@@ -719,8 +719,9 @@ fn add_drawing_render_pass(
DrawPropertiesUpdateFlags::SCISSOR_BOX,
),
RenderingCommand::SetShaderBinding(
- shader_cursor.field("main_texture").into_binding_location(),
- ShaderBindingValue::Texture(texture_object_id.clone()),
+ shader_cursor.field("main_texture").binding(
+ ShaderBindingValue::Texture(*texture_object_id),
+ )?,
),
RenderingCommand::DrawMesh(
mesh_obj_id,
@@ -736,6 +737,8 @@ fn add_drawing_render_pass(
}
}
}
+
+ Ok(())
}
fn get_texture_rect_image(