use cube::Cube;
use glium;
use glium::index::PrimitiveType;
-use glium::Surface;
+use glium::{Display, Program, Surface};
use support;
-
/*
fn mand(cx: f32, cy: f32) -> [f32; 3] {
let maxiter = 64;
}
*/
-pub fn program(display: &glium::Display) -> glium::Program {
- return program!(display,
- 140 => {
- vertex: include_str!("mandelwow.vert"),
- fragment: include_str!("mandelwow.frag"),
- }).unwrap();
+pub fn program(display: &Display) -> Program {
+ Program::from_source(
+ display,
+ include_str!("shaders/mandelwow.vert"),
+ include_str!("shaders/mandelwow.frag"), None)
+ .unwrap()
}
-fn mandel<U>(display: &glium::Display,
+fn mandel<U>(display: &Display,
frame: &mut glium::Frame,
- program: &glium::Program,
+ program: &Program,
uniforms: &U,
bounds: &Cube,
z: [f32; 2]) where U: glium::uniforms::Uniforms {
frame.draw(&vb, &indices, program, uniforms, ¶ms).unwrap();
}
-pub fn draw(display: &glium::Display,
+pub fn draw(display: &Display,
mut frame: &mut glium::Frame,
- program: &glium::Program,
+ program: &Program,
model: [[f32; 4]; 4],
camera: &support::camera::CameraState,
bounds: &Cube,
perspective: camera.get_perspective(),
};
- mandel(&display, &mut frame, &program, &uniforms, bounds, z0);
+ mandel(display, &mut frame, program, &uniforms, bounds, z0);
}
}