feat: egui UI wired with live disk brightness + steps
This commit is contained in:
parent
1b1eda0772
commit
983413e9af
@ -6,6 +6,7 @@ mod web;
|
|||||||
mod render;
|
mod render;
|
||||||
mod camera;
|
mod camera;
|
||||||
mod params;
|
mod params;
|
||||||
|
mod ui;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
// On web, abort startup if WebGPU isn't available and show a message.
|
// On web, abort startup if WebGPU isn't available and show a message.
|
||||||
|
|||||||
@ -10,8 +10,15 @@ impl Plugin for BlackHolePlugin {
|
|||||||
app.init_resource::<crate::camera::OrbitCamera>()
|
app.init_resource::<crate::camera::OrbitCamera>()
|
||||||
.init_resource::<crate::params::BlackHoleParams>()
|
.init_resource::<crate::params::BlackHoleParams>()
|
||||||
.add_plugins(Material2dPlugin::<BlackHoleMaterial>::default())
|
.add_plugins(Material2dPlugin::<BlackHoleMaterial>::default())
|
||||||
|
.add_plugins(bevy_egui::EguiPlugin::default())
|
||||||
.add_systems(Startup, spawn_fullscreen_quad)
|
.add_systems(Startup, spawn_fullscreen_quad)
|
||||||
.add_systems(Update, (crate::camera::orbit_controller, mirror_params));
|
.add_systems(
|
||||||
|
Update,
|
||||||
|
(crate::camera::orbit_controller, mirror_params),
|
||||||
|
)
|
||||||
|
// bevy_egui 0.41 requires UI systems to run inside the egui context
|
||||||
|
// pass (fonts/ctx are initialized there); placing them in Update panics.
|
||||||
|
.add_systems(bevy_egui::EguiPrimaryContextPass, crate::ui::ui_system);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
17
src/ui.rs
Normal file
17
src/ui.rs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
use bevy::prelude::*;
|
||||||
|
use bevy_egui::egui;
|
||||||
|
|
||||||
|
pub fn ui_system(
|
||||||
|
mut contexts: bevy_egui::EguiContexts,
|
||||||
|
mut params: ResMut<crate::params::BlackHoleParams>,
|
||||||
|
) {
|
||||||
|
if let Ok(ctx) = contexts.ctx_mut() {
|
||||||
|
egui::Window::new("Controls").show(ctx, |ui| {
|
||||||
|
ui.add(
|
||||||
|
egui::Slider::new(&mut params.disk_brightness, 0.0..=3.0)
|
||||||
|
.text("Disk brightness"),
|
||||||
|
);
|
||||||
|
ui.add(egui::Slider::new(&mut params.steps, 50..=600).text("Steps"));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user