lux 0.1.2

A super simple 2d-graphics engine that handles windowing and events for you! Right now it's supposed to be a top secret! Shhhhh...
Documentation
extern crate lux;
extern crate noise;

use lux::prelude::*;
use lux::graphics::ColorVertex;
use lux::color;

const SCALE: f32 = 20.0;

fn main() {
    let mut window = Window::new_with_defaults().unwrap();
    let seed = noise::Seed::new(0);
    let mut t = 0.0;

    // Set up the point buffer
    let mut points = Vec::with_capacity(255 * 255);
    for x in 0 .. 255 {
        for y in 0 .. 255 {
            points.push(ColorVertex {
                pos: [x as f32, y as f32],
                color: rgb(0, 0, 0)
            });
        }
    }

    while window.is_open() {
        let mut frame = window.cleared_frame(color::WHITE);

        // Update the point buffer with a new noise pattern
        for pt in &mut points {
            let value = noise::perlin3(&seed, &[pt.pos[0] / SCALE, pt.pos[1] / SCALE, t / SCALE]);
            let value = (value + 1.0) / 2.0;
            pt.color = hsv(value * 360.0, 1.0, 1.0);
        }

        frame.draw_points(&points);
        t += 1.0;
    }
}