[][src]Struct pbrt::lights::distant::DistantLight

pub struct DistantLight {
    pub l: Spectrum,
    pub w_light: Vector3f,
    pub world_center: RwLock<Point3f>,
    pub world_radius: RwLock<Float>,
    pub flags: u8,
    pub n_samples: i32,
    pub medium_interface: MediumInterface,
    pub light_to_world: Transform,
    pub world_to_light: Transform,


l: Spectrumw_light: Vector3fworld_center: RwLock<Point3f>world_radius: RwLock<Float>flags: u8n_samples: i32medium_interface: MediumInterfacelight_to_world: Transformworld_to_light: Transform


impl DistantLight[src]

pub fn new(light_to_world: &Transform, l: &Spectrum, w_light: &Vector3f) -> Self[src]

Trait Implementations

impl Light for DistantLight[src]

fn preprocess(&self, scene: &Scene)[src]

Some of the DistanceLight methods need to know the bounds of the scene. Because lights are created before the scene geometry, these bounds aren't available when the DistanceLight constructor runs. Therefore, DistanceLight implements the optional preprocess() method to get the bound. This method is called at the end of the Scene constructor.

fn le(&self, _ray: &mut Ray) -> Spectrum[src]

Default implementation returns no emitted radiance for a ray that escapes the scene bounds.

Auto Trait Implementations

impl Send for DistantLight

impl Sync for DistantLight

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 

impl<T, U> TryFrom for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized

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

impl<T> BorrowMut for T where
    T: ?Sized

impl<T, U> TryInto for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

impl<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 

Sets value as a parameter of self.