Files
raytracing/src/main.rs
2026-06-22 08:46:01 +02:00

35 lines
857 B
Rust

#![feature(core_float_math)]
mod camera;
mod objects;
mod ray;
mod raytracer;
mod scenes;
mod vec3;
use std::{env, fs};
use crate::ray::Ray;
use crate::raytracer::render;
use crate::scenes::scene::Scene;
use crate::vec3::Vec3;
use dotenv::dotenv;
// TODO (low priority): implement scene serialization
fn main() {
dotenv().ok();
pretty_env_logger::init();
// TODO (medium priority): better cli parsing || add random flag to generate random scene
let mut json_file = "./scenes/scene.json";
let args: Vec<String> = env::args().collect();
if args.len() > 1 {
json_file = &args[1];
}
let json_str = fs::read_to_string(json_file).expect("Reading specified scene file failed!");
let mut scene: Scene = serde_json::from_str(&json_str).unwrap();
let mut scene: Scene = Scene::random();
render(&mut scene);
}