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
sourceimpl 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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more