diff options
Diffstat (limited to 'racer-tracer/src/scene_controller/interactive.rs')
| -rw-r--r-- | racer-tracer/src/scene_controller/interactive.rs | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/racer-tracer/src/scene_controller/interactive.rs b/racer-tracer/src/scene_controller/interactive.rs index 5fdecfc..bf0d50d 100644 --- a/racer-tracer/src/scene_controller/interactive.rs +++ b/racer-tracer/src/scene_controller/interactive.rs @@ -138,6 +138,60 @@ impl<'renderer, 'action> SceneController for InteractiveScene<'renderer, 'action cam.go_right(dt * self.camera_speed); }) }), + KeyInputs::input(KeyEvent::Release, Key::NumPadMinus, |_| { + self.camera + .write() + .map_err(|e| TracerError::KeyError(e.to_string())) + .map(|mut cam| { + let vfov = cam.get_vfov(); + cam.set_fov(vfov + 1.0); + }) + }), + KeyInputs::input(KeyEvent::Release, Key::NumPadPlus, |_| { + self.camera + .write() + .map_err(|e| TracerError::KeyError(e.to_string())) + .map(|mut cam| { + let vfov = cam.get_vfov(); + cam.set_fov(vfov - 1.0); + }) + }), + KeyInputs::input(KeyEvent::Release, Key::NumPad8, |_| { + self.camera + .write() + .map_err(|e| TracerError::KeyError(e.to_string())) + .map(|mut cam| { + let aperture = cam.get_aperture(); + cam.set_aperture(aperture + 0.01); + }) + }), + KeyInputs::input(KeyEvent::Release, Key::NumPad2, |_| { + self.camera + .write() + .map_err(|e| TracerError::KeyError(e.to_string())) + .map(|mut cam| { + let aperture = cam.get_aperture(); + cam.set_aperture(aperture - 0.01); + }) + }), + KeyInputs::input(KeyEvent::Release, Key::NumPad4, |_| { + self.camera + .write() + .map_err(|e| TracerError::KeyError(e.to_string())) + .map(|mut cam| { + let focus_distance = cam.get_focus_distance(); + cam.set_focus_distance(focus_distance + 1.0); + }) + }), + KeyInputs::input(KeyEvent::Release, Key::NumPad6, |_| { + self.camera + .write() + .map_err(|e| TracerError::KeyError(e.to_string())) + .map(|mut cam| { + let focus_distance = cam.get_focus_distance(); + cam.set_focus_distance(focus_distance - 1.0); + }) + }), ] } |
