X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=mandelwow.rs;h=1a6516c36f1266e991d916f419e5de0329d63d5d;hb=29b275596efed3b3064072483aa6d8c4cba1e3d4;hp=8e759ef8013a1efc8943e0e78853063dca79a5fe;hpb=e523420da6df64609d595e1e6e902592c00f6a47;p=mandelwow.git diff --git a/mandelwow.rs b/mandelwow.rs index 8e759ef..1a6516c 100644 --- a/mandelwow.rs +++ b/mandelwow.rs @@ -1,11 +1,10 @@ // Wow. Such fractal. -use cube::Cube; +use crate::cube::Cube; use glium; use glium::index::PrimitiveType; -use glium::Surface; -use support; - +use glium::{Display, Program, Surface, implement_vertex, uniform}; +use crate::support; /* fn mand(cx: f32, cy: f32) -> [f32; 3] { @@ -28,17 +27,17 @@ fn mand(cx: f32, cy: f32) -> [f32; 3] { } */ -pub fn program(display: &glium::Display) -> glium::Program { - return program!(display, - 100 => { - 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(display: &glium::Display, +fn mandel(display: &Display, frame: &mut glium::Frame, - program: &glium::Program, + program: &Program, uniforms: &U, bounds: &Cube, z: [f32; 2]) where U: glium::uniforms::Uniforms { @@ -104,9 +103,9 @@ fn mandel(display: &glium::Display, 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, @@ -129,6 +128,6 @@ pub fn draw(display: &glium::Display, perspective: camera.get_perspective(), }; - mandel(&display, &mut frame, &program, &uniforms, bounds, z0); + mandel(display, &mut frame, program, &uniforms, bounds, z0); } }