send events to scene
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
extern crate vrtue;
|
extern crate vrtue;
|
||||||
use vrtue::{scenes, view, vr};
|
use vrtue::{scenes, view, vr};
|
||||||
use vrtue::scene::Scene;
|
use vrtue::scene::{Event, Scene};
|
||||||
|
|
||||||
extern crate env_logger;
|
extern crate env_logger;
|
||||||
extern crate gfx_device_gl;
|
extern crate gfx_device_gl;
|
||||||
@@ -35,6 +35,8 @@ pub fn main() {
|
|||||||
piston_window::Input::Text(_) => break 'main,
|
piston_window::Input::Text(_) => break 'main,
|
||||||
_ => debug!("\t{:?}", ev)
|
_ => debug!("\t{:?}", ev)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scene.event(Event::Piston(ev));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
use view;
|
use view;
|
||||||
|
use vr;
|
||||||
|
|
||||||
extern crate gfx;
|
extern crate gfx;
|
||||||
extern crate gfx_device_gl;
|
extern crate gfx_device_gl;
|
||||||
@@ -6,6 +7,7 @@ extern crate piston_window;
|
|||||||
|
|
||||||
pub trait Scene<D: gfx::Device,
|
pub trait Scene<D: gfx::Device,
|
||||||
F: gfx::Factory<D::Resources>> {
|
F: gfx::Factory<D::Resources>> {
|
||||||
|
fn event(&mut self, event: Event);
|
||||||
fn update(&mut self);
|
fn update(&mut self);
|
||||||
fn render(&self,
|
fn render(&self,
|
||||||
factory: &mut F,
|
factory: &mut F,
|
||||||
@@ -14,3 +16,8 @@ pub trait Scene<D: gfx::Device,
|
|||||||
target: &gfx::handle::RenderTargetView<D::Resources, view::ColorFormat>,
|
target: &gfx::handle::RenderTargetView<D::Resources, view::ColorFormat>,
|
||||||
depth: &gfx::handle::DepthStencilView<D::Resources, view::DepthFormat>);
|
depth: &gfx::handle::DepthStencilView<D::Resources, view::DepthFormat>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub enum Event {
|
||||||
|
Vr(vr::Event),
|
||||||
|
Piston(piston_window::Input),
|
||||||
|
}
|
||||||
|
|||||||
@@ -64,6 +64,9 @@ impl<D: gfx::Device, F: gfx::Factory<D::Resources>> WorldScene<D, F> {
|
|||||||
impl<D: gfx::Device,
|
impl<D: gfx::Device,
|
||||||
F: gfx::Factory<D::Resources>> scene::Scene<D, F> for WorldScene<D, F> {
|
F: gfx::Factory<D::Resources>> scene::Scene<D, F> for WorldScene<D, F> {
|
||||||
|
|
||||||
|
fn event(&mut self, event: scene::Event) {
|
||||||
|
}
|
||||||
|
|
||||||
fn update(&mut self) {
|
fn update(&mut self) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ pub struct VR {
|
|||||||
gfx_handles: gfx::handle::Manager<GLResources>,
|
gfx_handles: gfx::handle::Manager<GLResources>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub struct Event {
|
||||||
|
}
|
||||||
|
|
||||||
impl VR {
|
impl VR {
|
||||||
pub fn new() -> Result<VR, vr::Error<openvr_sys::EVRInitError>> {
|
pub fn new() -> Result<VR, vr::Error<openvr_sys::EVRInitError>> {
|
||||||
Ok(VR {
|
Ok(VR {
|
||||||
|
|||||||
Reference in New Issue
Block a user