wip: parallelization

This commit is contained in:
2026-05-03 14:58:56 +02:00
parent eb90c36ae8
commit 10f9c0984d
23 changed files with 294 additions and 211 deletions

View File

@@ -3,6 +3,7 @@
mod camera;
mod objects;
mod ray;
mod raytracer;
mod scenes;
mod vec3;
@@ -15,6 +16,7 @@ use crate::objects::materials::lambertian::{Lambertian, Metal};
use crate::objects::sphere::Sphere;
use crate::objects::traits::Hittable;
use crate::ray::Ray;
use crate::raytracer::render;
use crate::scenes::scene::Scene;
use crate::vec3::Vec3;
use dotenv::dotenv;
@@ -29,7 +31,7 @@ fn main() {
let json_file = "./scenes/scene.json";
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();
scene.render();
render(&mut scene);
return;
// random spheres code; thought: make this available as cli flag?
@@ -108,14 +110,14 @@ fn main() {
Arc::new(Metal::rgb(0.7, 0.6, 0.5, 1., 0.)),
)));
let mut c = Camera::new(1920, 1080);
let mut c = Camera::new();
c.set_fov(20.);
c.set_anti_alias_rate(23);
c.set_max_depth(50);
c.set_vup(Vec3::new(0., 1., 0.));
c.set_look_from(Vec3::new(13., 2., 3.));
c.set_look_at(Vec3::new(0., 0., 0.));
c.add_defocus_blur(0.6, 10.);
c.render(&world);
let mut s = Scene::new(c, world, "output.png".to_string(), 1920, 1080, 50);
render(&mut s);
}