From 8e6c8bdfb4924bc671dd37e47d473ea803880825 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Mon, 13 Jun 2016 23:46:58 -0400 Subject: change API to pass time as arg to draw_frame --- src/bin/exuberantbovines.rs | 7 ++----- src/lib.rs | 5 +++-- 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'src') 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>, @@ -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(); diff --git a/src/lib.rs b/src/lib.rs index c73fc0c..f24c658 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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, -- cgit v1.2.3