use cgmath::{Euler, Matrix4, Rad, Vector3};
use cgmath::{Euler, Matrix4, Rad, Vector3};
use glium::{DisplayBuild, Surface};
use glutin::ElementState::Pressed;
use glutin::Event::KeyboardInput;
use glutin::VirtualKeyCode;
use glium::{DisplayBuild, Surface};
use glutin::ElementState::Pressed;
use glutin::Event::KeyboardInput;
use glutin::VirtualKeyCode;
#[cfg(target_os = "emscripten")]
use std::os::raw::{c_int, c_void};
#[cfg(target_os = "emscripten")]
use std::os::raw::{c_int, c_void};
fn screenshot(display : &glium::Display) {
let image: glium::texture::RawImage2d<u8> = display.read_front_buffer();
let image = image::ImageBuffer::from_raw(image.width, image.height, image.data.into_owned()).unwrap();
fn screenshot(display : &glium::Display) {
let image: glium::texture::RawImage2d<u8> = display.read_front_buffer();
let image = image::ImageBuffer::from_raw(image.width, image.height, image.data.into_owned()).unwrap();
let mut frame = display.draw();
frame.clear_color_and_depth((0.0, 0.0, 0.0, 1.0), 1.0);
let mut frame = display.draw();
frame.clear_color_and_depth((0.0, 0.0, 0.0, 1.0), 1.0);
Euler { x: Rad(t.sin() / 3.), y: Rad(t.sin() / 2.), z: Rad(t / 1.5)});
let z_trans = -2.0; // Send the model back a little bit so it fits the screen.
let model2 =
Euler { x: Rad(t.sin() / 3.), y: Rad(t.sin() / 2.), z: Rad(t / 1.5)});
let z_trans = -2.0; // Send the model back a little bit so it fits the screen.
let model2 =