extern crate glium; use glium::Display; use glium::glutin; use glium::glutin::{ EventsLoop, WindowBuilder, ContextBuilder, }; use glium::glutin::Event; use glium::glutin::WindowEvent; use glium::glutin::VirtualKeyCode; 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 program = glium::Program::from_source( &display, include_str!("../../assets/shaders/shader.vert"), include_str!("../../assets/shaders/shader.frag"), None ).unwrap(); let mut closed = false; while !closed { let mut target = display.draw(); use glium::Surface; target.clear_color(0.0, 0.0, 1.0, 1.0); 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, _ => (), } }); } }