use view; use vr; extern crate gfx; extern crate gfx_device_gl; extern crate nalgebra as na; extern crate piston_window; pub trait Scene> { fn event(&mut self, event: Event); fn update(&mut self, vr: &mut Option, // TODO: abstract this out encoder: &mut gfx::Encoder); fn render(&self, factory: &mut F, encoder: &mut gfx::Encoder, trans: &gfx::handle::Buffer, target: &gfx::handle::RenderTargetView, depth: &gfx::handle::DepthStencilView); fn origin(&self) -> na::Matrix4; } pub enum Event { Vr(vr::Event), Piston(piston_window::Input), }