Change testscene interface

This commit is contained in:
hal8174 2025-01-02 23:17:17 +01:00
parent 829476c602
commit 0b3daf9441
12 changed files with 313 additions and 223 deletions

View file

@ -91,16 +91,16 @@ fn main() {
let scenes = example_scenes::<rand::rngs::SmallRng>();
let mut settings = {
let scene = scenes.iter().next().unwrap();
let e = (scene.1)();
let e = scene.1;
render::RenderSettings {
width: window.inner_size().width,
height: window.inner_size().height,
scene: scene.0,
renderer_id: 0,
camera_pos: e.camera_pos,
camera_look_at: e.camera_look_at,
camera_up: e.camera_up,
camera_horizontal_fov: e.horizontal_fov,
camera_pos: e.get_camera_pos(),
camera_look_at: e.get_camera_look_at(),
camera_up: e.get_camera_up(),
camera_horizontal_fov: e.get_horizontal_fov(),
}
};
@ -225,11 +225,12 @@ fn main() {
}
if scene_changed {
settings_changed = true;
let e = scenes[settings.scene]();
settings.camera_pos = e.camera_pos;
settings.camera_look_at = e.camera_look_at;
settings.camera_up = e.camera_up;
settings.camera_horizontal_fov = e.horizontal_fov;
settings.camera_pos = scenes[settings.scene].get_camera_pos();
settings.camera_look_at =
scenes[settings.scene].get_camera_look_at();
settings.camera_up = scenes[settings.scene].get_camera_up();
settings.camera_horizontal_fov =
scenes[settings.scene].get_horizontal_fov();
}
});
});

View file

@ -69,8 +69,7 @@ pub fn render_thread(
let example_scenes = examples::example_scenes::<SmallRng>();
let e = example_scenes[settings.scene]();
let mut scene = (e.scene)();
let mut scene = example_scenes[settings.scene].get_scene();
let mut camera = BasicCamera::from_look_at(
settings.width,
@ -88,8 +87,7 @@ pub fn render_thread(
while let Ok(s) = rx.try_recv() {
println!("Settings changed.");
settings = s;
let e = example_scenes[settings.scene]();
scene = (e.scene)();
scene = example_scenes[settings.scene].get_scene();
camera = BasicCamera::from_look_at(
settings.width,
settings.height,