use crate::core::medium::MediumInterface; use crate::core::pbrt::Float; use crate::shapes::Shape; use crate::utils::spectrum::Spectrum; use crate::utils::transform::Transform; use std::sync::Arc; pub struct DiffuseAreaLight { pub l_emit: Spectrum, pub shape: Arc, pub two_sided: bool, pub area: Float, pub flags: u8, pub n_samples: i32, pub medium_interface: MediumInterface, light_to_world: Transform, world_to_light: Transform, }