Struct arendur::component::transformed::TransformedComposable
[−]
[src]
pub struct TransformedComposable<T> { /* fields omitted */ }
Component transformed from another component
Methods
impl<T> TransformedComposable<T>
[src]
Trait Implementations
impl<T: Clone> Clone for TransformedComposable<T>
[src]
fn clone(&self) -> TransformedComposable<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl<T: Debug> Debug for TransformedComposable<T>
[src]
impl<T: Composable> Composable for TransformedComposable<T>
[src]
fn bbox_parent(&self) -> BBox3f
returns bounding box in parent frame.
fn intersection_cost(&self) -> Float
fn intersect_ray(&self, ray: &mut RawRay) -> Option<SurfaceInteraction>
test for intersection. Note that its guarantees are from Shape
's: - ray
is specified in parent frame, - if hit, returns surface interaction data in parent frame. - if hit, ray
's tmax
would be updated to the hitting t
. Read more
fn as_light(&self) -> &Light
fn can_intersect(&self, ray: &RawRay) -> bool
test if an intersection can occur. Might be more efficient
impl<T: Primitive> Composable for TransformedComposable<T>
[src]
fn intersect_ray(&self, ray: &mut RawRay) -> Option<SurfaceInteraction>
test for intersection. Note that its guarantees are from Shape
's: - ray
is specified in parent frame, - if hit, returns surface interaction data in parent frame. - if hit, ray
's tmax
would be updated to the hitting t
. Read more
fn as_light(&self) -> &Light
fn bbox_parent(&self) -> BBox3f
returns bounding box in parent frame.
fn can_intersect(&self, ray: &RawRay) -> bool
test if an intersection can occur. Might be more efficient
fn intersection_cost(&self) -> Float
impl<T: Primitive> Primitive for TransformedComposable<T>
[src]
fn is_emissive(&self) -> bool
return if the primitive can emit lights
fn get_material(&self) -> &Material
return the material associated with this primitive
impl<T: Primitive> Light for TransformedComposable<T>
[src]
fn flags(&self) -> LightFlag
return the flags of the light
fn evaluate_ray(&self, rd: &RayDifferential) -> RGBSpectrumf
Given a position and an incoming direction in local coordinates, evaluate the light's radiance along that direction. This method takes an RayDifferential
because some light implementations might found thouse differentials helpful. Read more
fn evaluate_path(&self, pos: Point3f, dir: Vector3f) -> RGBSpectrumf
Given a position on surface and an direction in local coordinates, evaluate the light's emitted radiance along that direction. Read more
fn evaluate_sampled(&self, pos: Point3f, sample: Point2f) -> LightSample
Given a pos
in local frame with a uniform sample
in $[0, 1)$, sample an incoming direction from the light to that location, returns the sampling result in a LightSample
. Read more
fn generate_path(&self, samples: SampleInfo) -> PathInfo
Generate a photon path from the light source based on the sample info
fn pdf_path(
&self,
pos: Point3f,
dir: Vector3f,
norm: Vector3f
) -> (Float, Float)
&self,
pos: Point3f,
dir: Vector3f,
norm: Vector3f
) -> (Float, Float)
Given position and direction of a photon path, and the light's normal
return its pdfs as (pdfpos, pdfdir)
Read more
fn pdf(&self, pos: Point3f, wi: Vector3f) -> Float
Given a position and lighting ray wi
of an interaction, return the pdf of it Read more
fn power(&self) -> RGBSpectrumf
returns an estimation of total power of this light
fn preprocess(&mut self, s: &Scene)
preporcess with scene components, if necessary. renderers should respect this requirement. Read more
fn is_delta(&self) -> bool
test if the light has delta distribution
impl<T: Composable> Composable for TransformedComposable<Arc<T>>
[src]
fn bbox_parent(&self) -> BBox3f
returns bounding box in parent frame.
fn intersection_cost(&self) -> Float
fn intersect_ray(&self, ray: &mut RawRay) -> Option<SurfaceInteraction>
test for intersection. Note that its guarantees are from Shape
's: - ray
is specified in parent frame, - if hit, returns surface interaction data in parent frame. - if hit, ray
's tmax
would be updated to the hitting t
. Read more
fn as_light(&self) -> &Light
fn can_intersect(&self, ray: &RawRay) -> bool
test if an intersection can occur. Might be more efficient
impl<T: Primitive> Composable for TransformedComposable<Arc<T>>
[src]
fn intersect_ray(&self, ray: &mut RawRay) -> Option<SurfaceInteraction>
test for intersection. Note that its guarantees are from Shape
's: - ray
is specified in parent frame, - if hit, returns surface interaction data in parent frame. - if hit, ray
's tmax
would be updated to the hitting t
. Read more
fn as_light(&self) -> &Light
fn bbox_parent(&self) -> BBox3f
returns bounding box in parent frame.
fn can_intersect(&self, ray: &RawRay) -> bool
test if an intersection can occur. Might be more efficient
fn intersection_cost(&self) -> Float
impl<T: Primitive> Primitive for TransformedComposable<Arc<T>>
[src]
fn is_emissive(&self) -> bool
return if the primitive can emit lights
fn get_material(&self) -> &Material
return the material associated with this primitive
impl<T: Primitive> Light for TransformedComposable<Arc<T>>
[src]
fn flags(&self) -> LightFlag
return the flags of the light
fn evaluate_ray(&self, rd: &RayDifferential) -> RGBSpectrumf
Given a position and an incoming direction in local coordinates, evaluate the light's radiance along that direction. This method takes an RayDifferential
because some light implementations might found thouse differentials helpful. Read more
fn evaluate_path(&self, pos: Point3f, dir: Vector3f) -> RGBSpectrumf
Given a position on surface and an direction in local coordinates, evaluate the light's emitted radiance along that direction. Read more
fn evaluate_sampled(&self, pos: Point3f, sample: Point2f) -> LightSample
Given a pos
in local frame with a uniform sample
in $[0, 1)$, sample an incoming direction from the light to that location, returns the sampling result in a LightSample
. Read more
fn generate_path(&self, samples: SampleInfo) -> PathInfo
Generate a photon path from the light source based on the sample info
fn pdf_path(
&self,
pos: Point3f,
dir: Vector3f,
norm: Vector3f
) -> (Float, Float)
&self,
pos: Point3f,
dir: Vector3f,
norm: Vector3f
) -> (Float, Float)
Given position and direction of a photon path, and the light's normal
return its pdfs as (pdfpos, pdfdir)
Read more
fn pdf(&self, pos: Point3f, wi: Vector3f) -> Float
Given a position and lighting ray wi
of an interaction, return the pdf of it Read more
fn power(&self) -> RGBSpectrumf
returns an estimation of total power of this light
fn is_delta(&self) -> bool
test if the light has delta distribution
fn preprocess(&mut self, _s: &Scene)
preporcess with scene components, if necessary. renderers should respect this requirement. Read more
impl Composable for TransformedComposable<Arc<Composable>>
[src]
fn bbox_parent(&self) -> BBox3f
returns bounding box in parent frame.
fn intersection_cost(&self) -> Float
fn intersect_ray(&self, ray: &mut RawRay) -> Option<SurfaceInteraction>
test for intersection. Note that its guarantees are from Shape
's: - ray
is specified in parent frame, - if hit, returns surface interaction data in parent frame. - if hit, ray
's tmax
would be updated to the hitting t
. Read more
fn as_light(&self) -> &Light
fn can_intersect(&self, ray: &RawRay) -> bool
test if an intersection can occur. Might be more efficient
impl Composable for TransformedComposable<Arc<Primitive>>
[src]
fn bbox_parent(&self) -> BBox3f
returns bounding box in parent frame.
fn intersection_cost(&self) -> Float
fn intersect_ray(&self, ray: &mut RawRay) -> Option<SurfaceInteraction>
test for intersection. Note that its guarantees are from Shape
's: - ray
is specified in parent frame, - if hit, returns surface interaction data in parent frame. - if hit, ray
's tmax
would be updated to the hitting t
. Read more
fn as_light(&self) -> &Light
fn can_intersect(&self, ray: &RawRay) -> bool
test if an intersection can occur. Might be more efficient
impl Primitive for TransformedComposable<Arc<Primitive>>
[src]
fn is_emissive(&self) -> bool
return if the primitive can emit lights
fn get_material(&self) -> &Material
return the material associated with this primitive
impl Light for TransformedComposable<Arc<Primitive>>
[src]
fn flags(&self) -> LightFlag
return the flags of the light
fn evaluate_ray(&self, rd: &RayDifferential) -> RGBSpectrumf
Given a position and an incoming direction in local coordinates, evaluate the light's radiance along that direction. This method takes an RayDifferential
because some light implementations might found thouse differentials helpful. Read more
fn evaluate_path(&self, pos: Point3f, dir: Vector3f) -> RGBSpectrumf
Given a position on surface and an direction in local coordinates, evaluate the light's emitted radiance along that direction. Read more
fn evaluate_sampled(&self, pos: Point3f, sample: Point2f) -> LightSample
Given a pos
in local frame with a uniform sample
in $[0, 1)$, sample an incoming direction from the light to that location, returns the sampling result in a LightSample
. Read more
fn generate_path(&self, samples: SampleInfo) -> PathInfo
Generate a photon path from the light source based on the sample info
fn pdf_path(
&self,
pos: Point3f,
dir: Vector3f,
norm: Vector3f
) -> (Float, Float)
&self,
pos: Point3f,
dir: Vector3f,
norm: Vector3f
) -> (Float, Float)
Given position and direction of a photon path, and the light's normal
return its pdfs as (pdfpos, pdfdir)
Read more
fn pdf(&self, pos: Point3f, wi: Vector3f) -> Float
Given a position and lighting ray wi
of an interaction, return the pdf of it Read more
fn power(&self) -> RGBSpectrumf
returns an estimation of total power of this light
fn is_delta(&self) -> bool
test if the light has delta distribution
fn preprocess(&mut self, _s: &Scene)
preporcess with scene components, if necessary. renderers should respect this requirement. Read more