diff options
Diffstat (limited to 'engine/src/ui')
| -rw-r--r-- | engine/src/ui/dear_imgui.rs | 43 |
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( |
