aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
blob: bf7041595047565d8500255522bbb2abef912ec7 (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.7, 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([['.'; 120]; 60])
    };

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