[−][src]Trait tray_rust::material::Material
Trait implemented by materials. Provides method to get the BSDF describing the material properties at the intersection
Required methods
fn bsdf<'a, 'b, 'c>(
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
Get the BSDF for the material which defines its properties at the hit point.
We have the lifetime constraint on the returned BSDF to enforce it does not outlive the material which produced it. This allows us to borrow things from the parent material in the BxDFs making up the BSDF.
Implementors
impl Material for Glass
[src]
fn bsdf<'a, 'b, 'c>(
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
impl Material for Matte
[src]
fn bsdf<'a, 'b, 'c>(
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
impl Material for Merl
[src]
fn bsdf<'a, 'b, 'c>(
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
impl Material for Metal
[src]
fn bsdf<'a, 'b, 'c>(
&self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
impl Material for Plastic
[src]
fn bsdf<'a, 'b, 'c>(
&self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
impl Material for RoughGlass
[src]
fn bsdf<'a, 'b, 'c>(
&self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
impl Material for SpecularMetal
[src]
fn bsdf<'a, 'b, 'c>(
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,
[src]
&'a self,
hit: &Intersection<'a, 'b>,
alloc: &'c Allocator
) -> BSDF<'c> where
'a: 'c,