extern crate glium; extern crate model_converter; use glium::Display; use glium::glutin; use glium::glutin::{ EventsLoop, WindowBuilder, ContextBuilder, }; use glium::glutin::Event; use glium::glutin::WindowEvent; use glium::glutin::VirtualKeyCode; use model_converter::parser::parse; use model_converter::renderer::Renderer; fn main() { let mut events_loop = EventsLoop::new(); let window = WindowBuilder::new(); let context = ContextBuilder::new(); let display = Display::new(window, context, &events_loop).unwrap(); let mut closed = false; let model = parse("./assets/models/toonlink/link.obj").unwrap(); let mut renderer = Renderer::new(display); renderer.add_model(&model); while !closed { let mut target = renderer.draw(); renderer.render(&mut target); target.finish().unwrap(); events_loop.poll_events(|ev| { match ev { // Close window Event::WindowEvent { event: WindowEvent::Closed, .. } => closed = true, // Escape key Event::WindowEvent { event: WindowEvent::KeyboardInput { input: glutin::KeyboardInput { virtual_keycode: Some(VirtualKeyCode::Escape), .. }, .. }, .. } => closed = true, _ => (), } }); } }