// ┏┓ ┏━┓╺┳┓┏━╸ // ┣┻┓┗━┓ ┃┃┣╸ // ┗━┛┗━┛╺┻┛╹ use crate::geometry::Vec3; use crate::random::RNG; pub trait BSDF { fn eval(i: Vec3, o: Vec3) -> f32; fn sample(r: &mut RNG) -> Vec3; }