Update benches to latest glium display setup api
[mandelwow.git] / benches / shaded_cube.rs
1 #![feature(test)]
2
3 extern crate mandelwow_lib;
4 #[macro_use(uniform)]
5 extern crate glium;
6 extern crate glutin;
7 extern crate test;
8
9 use mandelwow_lib::shaded_cube::*;
10
11 #[bench]
12 fn bench_shaded_cube(b: &mut test::Bencher) {
13     let events_loop = glium::glutin::EventsLoop::new();
14     let window = glium::glutin::WindowBuilder::new();
15     let context = glium::glutin::ContextBuilder::new();
16     let display = glium::Display::new(window, context, &events_loop).unwrap();
17
18     let program = shaded_program(&display);
19     let cube = ShadedCube::new(&display, &program);
20     let mut frame = display.draw();
21     b.iter(|| {
22         let model =     [[0.7, 0.5, -0.5, 0.0], [0.0, 0.7, 0.7, 0.0], [0.7, -0.5,  0.5,  0.0], [0., 0., -3.0, 1.0f32]];
23         let perspview = [[0.5, 0.0,  0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0,  0.0, -1.0, -1.0], [0., 0., -0.2, 0.0f32]];
24         let uniforms = uniform! {
25             model: model,
26             perspview: perspview,
27         };
28         cube.draw(&mut frame, &uniforms);
29     });
30     frame.finish().unwrap();
31 }