Move Material to new module && TriangleBVH intersect && Seperate light and material

This commit is contained in:
hal8174 2024-09-30 21:13:50 +02:00
parent 50d3874467
commit b3fdef8837
18 changed files with 180 additions and 90 deletions

View file

@ -1,7 +1,7 @@
use rand::Rng;
use ray_tracing_core::material::DefaultMaterial;
use ray_tracing_core::prelude::*;
use ray_tracing_core::scene::{Intersection, Scene};
use ray_tracing_material::default::DefaultMaterial;
pub struct BasicScene {
pub(crate) spheres: Vec<(Pos3, Float)>,
@ -30,7 +30,8 @@ impl<R: Rng> Scene<R> for BasicScene {
let int = Intersection::new(
d,
((ray.start() + d * ray.dir()) - c).normalize(),
&DefaultMaterial {},
Some(&DefaultMaterial {}),
None,
);
if d >= min && d <= max {
if let Some(i) = intersection.as_ref() {