diff options
author | bnewbold <bnewbold@robocracy.org> | 2016-06-13 23:46:58 -0400 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2016-06-13 23:46:58 -0400 |
commit | 8e6c8bdfb4924bc671dd37e47d473ea803880825 (patch) | |
tree | 3101c14fdbe9cc791ea170aacae82786473d5669 /src | |
parent | 4fb57de0201eaecdafffdcc285e7dc3ef9d4f6d8 (diff) | |
download | exuberant-hacks-8e6c8bdfb4924bc671dd37e47d473ea803880825.tar.gz exuberant-hacks-8e6c8bdfb4924bc671dd37e47d473ea803880825.zip |
change API to pass time as arg to draw_frame
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/exuberantbovines.rs | 7 | ||||
-rw-r--r-- | src/lib.rs | 5 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/bin/exuberantbovines.rs b/src/bin/exuberantbovines.rs index 799fff5..e07f28c 100644 --- a/src/bin/exuberantbovines.rs +++ b/src/bin/exuberantbovines.rs @@ -12,7 +12,6 @@ use glium::Surface; mod cow_model; struct ExuberantBovines { - t: f64, display: glium::Display, program: glium::Program, model_vertices: Vec<glium::VertexBuffer<cow_model::Vertex>>, @@ -92,7 +91,6 @@ impl ExuberantBovines { return ExuberantBovines { display: display, program: program, - t: 0.0, model_vertices: vec![face_vertices, hide_vertices, hoofs_vertices, @@ -105,12 +103,11 @@ impl ExuberantBovines { impl ExuberantHack for ExuberantBovines { - fn draw_frame(&mut self) -> Result<(), String> { + fn draw_frame(&mut self, t: f64) -> Result<(), String> { let indices = glium::index::NoIndices(glium::index::PrimitiveType::TrianglesList); - self.t += 0.03; - let z: f32 = 0.5 * self.t.sin() as f32; + let z: f32 = 0.5 * t.sin() as f32; // Drawing Pipeline let mut target = self.display.draw(); @@ -4,6 +4,7 @@ extern crate glium; extern crate image; extern crate getopts; +extern crate time; use std::env; use std::process::exit; @@ -14,7 +15,7 @@ use glium::{DisplayBuild, Display}; pub mod util; pub trait ExuberantHack { - fn draw_frame(&mut self) -> Result<(), String>; + fn draw_frame(&mut self, t: f64) -> Result<(), String>; fn get_display(&self) -> &Display; } @@ -30,7 +31,7 @@ pub fn print_usage(opts: &Options) { pub fn run(hack: &mut ExuberantHack, conf: &Matches) { loop { - hack.draw_frame().ok(); + hack.draw_frame(time::precise_time_s()).ok(); for ev in hack.get_display().poll_events() { match ev { glium::glutin::Event::Closed => return, |