pub struct PointLight {
pub p_light: Point3f,
pub i: Spectrum,
pub flags: u8,
pub n_samples: i32,
pub medium_interface: MediumInterface,
}Fields
p_light: Point3fi: Spectrumflags: u8n_samples: i32medium_interface: MediumInterfaceImplementations
sourceimpl PointLight
impl PointLight
pub fn new(
light_to_world: &Transform,
medium_interface: &MediumInterface,
i: &Spectrum
) -> Self
pub fn sample_li<'a, 'b>(
&'b self,
iref: &'a InteractionCommon,
light_intr: &'b mut InteractionCommon,
_u: Point2f,
wi: &mut Vector3f,
pdf: &mut Float,
vis: &mut VisibilityTester<'a, 'b>
) -> Spectrum
pub fn power(&self) -> Spectrum
pub fn preprocess(&self, _scene: &Scene)
sourcepub fn le(&self, _ray: &Ray) -> Spectrum
pub fn le(&self, _ray: &Ray) -> Spectrum
Default implementation returns no emitted radiance for a ray that escapes the scene bounds.
pub fn pdf_li(&self, _iref: &dyn Interaction, _wi: &Vector3f) -> Float
pub fn sample_le(
&self,
u1: Point2f,
_u2: Point2f,
time: Float,
ray: &mut Ray,
n_light: &mut Normal3f,
pdf_pos: &mut Float,
pdf_dir: &mut Float
) -> Spectrum
pub fn get_flags(&self) -> u8
pub fn get_n_samples(&self) -> i32
pub fn pdf_le(
&self,
_ray: &Ray,
_n_light: &Normal3f,
pdf_pos: &mut Float,
pdf_dir: &mut Float
)
Trait Implementations
sourceimpl Clone for PointLight
impl Clone for PointLight
sourcefn clone(&self) -> PointLight
fn clone(&self) -> PointLight
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl RefUnwindSafe for PointLight
impl Send for PointLight
impl Sync for PointLight
impl Unpin for PointLight
impl UnwindSafe for PointLight
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
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more