use crate::{Arena, FileLoc, ParameterDictionary}; use anyhow::Result; use shared::Float; use shared::core::camera::CameraTransform; use shared::core::film::Film; use shared::core::filter::Filter; pub mod gbuffer; pub mod rgb; pub mod spectral; pub use gbuffer::*; pub use rgb::*; pub use spectral::*; pub trait CreateFilm { fn create( params: &ParameterDictionary, exposure_time: Float, filter: Filter, camera_transform: Option, loc: &FileLoc, arena: &Arena, ) -> Result; }