Refactor rendering process in main.rs and remove obsolete render_world function from Gui
This commit is contained in:
parent
a3d3f641cd
commit
341d531db3
2 changed files with 9 additions and 17 deletions
|
|
@ -106,7 +106,12 @@ fn main() -> Result<()> {
|
|||
}
|
||||
}
|
||||
WindowEvent::RedrawRequested => {
|
||||
gui.render_world(&mut ecsr, &window, |ui, ecsr| {
|
||||
// First render the 3D world
|
||||
let mut target = ecsr.renderer.display().draw();
|
||||
ecsr.render_into(&mut target);
|
||||
|
||||
// Then overlay ImGui on top
|
||||
gui.render_with(&mut target, &window, |ui| {
|
||||
if let Ok(mut tr) = ecsr.world.query_one_mut::<&mut Transform>(object_ent) {
|
||||
ui.text("Hold right click to control the camera");
|
||||
ui.text("WASD to move");
|
||||
|
|
@ -134,6 +139,8 @@ fn main() -> Result<()> {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
target.finish().expect("Failed to swap buffers");
|
||||
}
|
||||
_ => {}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use imgui_winit_support::{HiDpiMode, WinitPlatform};
|
|||
use imgui_glium_renderer::Renderer as ImguiGliumRenderer;
|
||||
use winit::window::Window;
|
||||
use glium::Frame;
|
||||
use raidillon_render::{DisplayHandle, ECSRenderer};
|
||||
use raidillon_render::DisplayHandle;
|
||||
|
||||
/// Convenience wrapper that owns all ImGui state required for integration with
|
||||
/// winit + glium.
|
||||
|
|
@ -74,21 +74,6 @@ impl Gui {
|
|||
.expect("imgui rendering failed");
|
||||
}
|
||||
|
||||
pub fn render_world<F>(&mut self, ecsr: &mut ECSRenderer, window: &Window, build_ui: F)
|
||||
where
|
||||
F: FnOnce(&Ui, &mut ECSRenderer),
|
||||
{
|
||||
let mut target = ecsr.renderer.display().draw();
|
||||
|
||||
ecsr.render_into(&mut target);
|
||||
|
||||
self.render_with(&mut target, window, |ui| {
|
||||
build_ui(ui, ecsr);
|
||||
});
|
||||
|
||||
target.finish().expect("Failed to swap buffers");
|
||||
}
|
||||
|
||||
pub fn ui<F>(&mut self, build: F)
|
||||
where
|
||||
F: FnOnce(&Ui),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue