aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
blob: 5e255629e3e0d40d37b4711b9e1897fcb4f8d457 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
mod vector;
mod camera;
mod canvas;
use std::f32::consts::PI;

use crate::{camera::{Buffer, Camera}, vector::Vector};

trait Object {
    fn sdf(&self, point: Vector) -> f32;
}

fn main() {
    let mut cam = Camera {
        position: Vector { x: 0.0, y: 0.0, z: 0.0 },
        direction: Vector { x: 1.0, y: 0.0, z: 0.0 },
        angle: PI / 2.0,
        distance: 1.0,
        aspect_ratio: 1.0,
        brightness: 10.0,
        buffer: Buffer([['.'; 100]; 50])
    };

    cam.render();
    println!("{}", cam.buffer);
}