aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2016-06-13 23:46:58 -0400
committerbnewbold <bnewbold@robocracy.org>2016-06-13 23:46:58 -0400
commit8e6c8bdfb4924bc671dd37e47d473ea803880825 (patch)
tree3101c14fdbe9cc791ea170aacae82786473d5669 /src
parent4fb57de0201eaecdafffdcc285e7dc3ef9d4f6d8 (diff)
downloadexuberant-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.rs7
-rw-r--r--src/lib.rs5
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();
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,