[][src]Struct pbrt::core::lightdistrib::PowerLightDistribution

pub struct PowerLightDistribution {
    pub distrib: Option<Arc<Distribution1D>>,
}

PowerLightDistribution returns a distribution with sampling probability proportional to the total emitted power for each light. (It also ignores the provided point |p|.) This approach works well for scenes where there the most powerful lights are also the most important contributors to lighting in the scene, but doesn't do well if there are many lights and if different lights are relatively important in some areas of the scene and unimportant in others. (This was the default sampling method used for the BDPT integrator and MLT integrator in the printed book, though also without the PowerLightDistribution class.)

Fields

distrib: Option<Arc<Distribution1D>>

Implementations

impl PowerLightDistribution[src]

pub fn new(scene: &Scene) -> Self[src]

pub fn lookup(&self, _p: &Point3f) -> Arc<Distribution1D>[src]

Given a point |p| in space, this method returns a (hopefully effective) sampling distribution for light sources at that point.

Auto Trait Implementations

impl RefUnwindSafe for PowerLightDistribution

impl Send for PowerLightDistribution

impl Sync for PowerLightDistribution

impl Unpin for PowerLightDistribution

impl UnwindSafe for PowerLightDistribution

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.