Struct rs_pbrt::integrators::volpath::VolPathIntegrator
source · pub struct VolPathIntegrator {
pub camera: Arc<Camera>,
pub sampler: Box<Sampler>,
pub pixel_bounds: Bounds2i,
pub max_depth: u32,
pub rr_threshold: Float,
pub light_sample_strategy: String,
pub light_distribution: Option<Arc<LightDistribution>>,
}
Expand description
Accounts for scattering and attenuation from participating media as well as scattering from surfaces - uses the render loop of a SamplerIntegrator
Fields§
§camera: Arc<Camera>
§sampler: Box<Sampler>
§pixel_bounds: Bounds2i
§max_depth: u32
§rr_threshold: Float
§light_sample_strategy: String
§light_distribution: Option<Arc<LightDistribution>>
Implementations§
source§impl VolPathIntegrator
impl VolPathIntegrator
pub fn new( max_depth: u32, camera: Arc<Camera>, sampler: Box<Sampler>, pixel_bounds: Bounds2i, rr_threshold: Float, light_sample_strategy: String ) -> Self
pub fn preprocess(&mut self, scene: &Scene)
pub fn li( &self, r: &mut Ray, scene: &Scene, sampler: &mut Sampler, _depth: i32 ) -> Spectrum
pub fn get_camera(&self) -> Arc<Camera>
pub fn get_sampler(&self) -> &Sampler
pub fn get_pixel_bounds(&self) -> Bounds2i
Auto Trait Implementations§
impl !RefUnwindSafe for VolPathIntegrator
impl Send for VolPathIntegrator
impl Sync for VolPathIntegrator
impl Unpin for VolPathIntegrator
impl !UnwindSafe for VolPathIntegrator
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more