pub mod wireframe;
pub mod filled;
pub mod textured;

/// Do perspective calculation on a point, return (x, y).
fn perpective(x: f32, y: f32, z: f32) -> (f32, f32) {
    (x/z, y/z)
}

/// Turn floating point coordinates to something drawable on the screen, return (x, y)
fn screen(x: f32, y: f32, screen_width: i32, screen_height: i32) -> (i32, i32) {
    ((x * (screen_height/2) as f32) as i32 + (screen_width/2),
     (y * (screen_height/2) as f32) as i32 + (screen_height/2))
}

fn screen_f(x: f32, y: f32, screen_width: i32, screen_height: i32) -> (f32, f32) {
    (x * (screen_height/2) as f32 + (screen_width/2) as f32,
     y * (screen_height/2) as f32 + (screen_height/2) as f32)
}
pub mod wireframe;
pub mod filled;
pub mod textured;

/// Do perspective calculation on a point, return (x, y).
fn perpective(x: f32, y: f32, z: f32) -> (f32, f32) {
    (x/z, y/z)
}

/// Turn floating point coordinates to something drawable on the screen, return (x, y)
fn screen(x: f32, y: f32, screen_width: i32, screen_height: i32) -> (i32, i32) {
    ((x * (screen_height/2) as f32) as i32 + (screen_width/2),
     (y * (screen_height/2) as f32) as i32 + (screen_height/2))
}
--- 
+++ 
@@ -12,3 +12,8 @@
     ((x * (screen_height/2) as f32) as i32 + (screen_width/2),
      (y * (screen_height/2) as f32) as i32 + (screen_height/2))
 }
+
+fn screen_f(x: f32, y: f32, screen_width: i32, screen_height: i32) -> (f32, f32) {
+    (x * (screen_height/2) as f32 + (screen_width/2) as f32,
+     y * (screen_height/2) as f32 + (screen_height/2) as f32)
+}
Add floating point normalized to screen coordinate conversion
