// use crate::MAX_TAGS; // use shared::{Ptr, GVec}; // use shared::core::film::Film; // use shared::core::color::RGB; // use shared::core::filter::Filter; // use shared::core::light::Light; // use shared::core::sampler::Sampler; // use shared::wavefront::{WavefrontAggregate, RayQueue, MediumSampleQueue, EscapedRayQueue, HitAreaLightQueue, MaterialEvalQueue, ShadowRayQueue, GetBSSRDFAndProbeRayQueue, SubsurfaceScatterQueue}; // // pub struct WavefrontPathIntegrator { // pub init_visible_surface: bool, // pub have_subsurface: bool, // pub have_media: bool, // pub have_basic_eval_material: [bool; MAX_TAGS + 1], // pub have_universal_eval_material: [bool; MAX_TAGS + 1], // pub filter: Filter, // pub film: Film, // pub sampler: Sampler, // pub camera: Camera, // pub infinite_lights: GVec, // pub max_depth: usize, // pub sampler_per_pixel: usize, // pub regularize: bool, // pub scanlines_per_pixel: usize, // pub max_queue_size: usize, // pub medium_sample_queue: Ptr, // pub medium_scatter_queue: Ptr, // pub escaped_ray_queue: Ptr, // pub hit_area_light_queue: Ptr, // pub basic_eval_material_queue: Ptr, // pub universal_eval_material_queue: Ptr, // pub shadow_ray_queue: Ptr, // pub bssrdf_eval_queue: PTr, // pub subsurface_scatter_queue: Ptr, // pub display_rgb: Ptr, // pub display_rgb_host: Ptr, // // }