Struct rs_pbrt::lights::goniometric::GonioPhotometricLight
source · [−]pub struct GonioPhotometricLight {
pub p_light: Point3f,
pub i: Spectrum,
pub mipmap: Option<Arc<MipMap<Spectrum>>>,
pub flags: u8,
pub n_samples: i32,
pub medium_interface: MediumInterface,
pub light_to_world: Transform,
pub world_to_light: Transform,
}Fields
p_light: Point3fi: Spectrummipmap: Option<Arc<MipMap<Spectrum>>>flags: u8n_samples: i32medium_interface: MediumInterfacelight_to_world: Transformworld_to_light: TransformImplementations
sourceimpl GonioPhotometricLight
impl GonioPhotometricLight
pub fn new(
light_to_world: &Transform,
medium_interface: &MediumInterface,
i: &Spectrum,
texname: String
) -> Self
pub fn new_hdr(
light_to_world: &Transform,
_medium_interface: &MediumInterface,
i: &Spectrum,
texname: String
) -> Self
pub fn scale(&self, w: &Vector3f) -> Spectrum
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 GonioPhotometricLight
impl Clone for GonioPhotometricLight
sourcefn clone(&self) -> GonioPhotometricLight
fn clone(&self) -> GonioPhotometricLight
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 GonioPhotometricLight
impl Send for GonioPhotometricLight
impl Sync for GonioPhotometricLight
impl Unpin for GonioPhotometricLight
impl UnwindSafe for GonioPhotometricLight
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