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

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[src]

impl Send for PowerLightDistribution[src]

impl Sync for PowerLightDistribution[src]

impl Unpin for PowerLightDistribution[src]

impl UnwindSafe for PowerLightDistribution[src]

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> Pointable for T[src]

type Init = T

The type for initializers.

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.