[][src]Enum pbrt::core::material::Material

pub enum Material {
    Disney(Box<DisneyMaterial>),
    Fourier(Box<FourierMaterial>),
    Glass(Box<GlassMaterial>),
    Hair(Box<HairMaterial>),
    Matte(Box<MatteMaterial>),
    Metal(Box<MetalMaterial>),
    Mirror(Box<MirrorMaterial>),
    Mix(Box<MixMaterial>),
    Plastic(Box<PlasticMaterial>),
    Substrate(Box<SubstrateMaterial>),
    Subsurface(Box<SubsurfaceMaterial>),
    Translucent(Box<TranslucentMaterial>),
    Uber(Box<UberMaterial>),
}

Variants

Disney(Box<DisneyMaterial>)
Fourier(Box<FourierMaterial>)
Glass(Box<GlassMaterial>)
Hair(Box<HairMaterial>)
Matte(Box<MatteMaterial>)
Metal(Box<MetalMaterial>)
Mirror(Box<MirrorMaterial>)
Mix(Box<MixMaterial>)
Plastic(Box<PlasticMaterial>)
Substrate(Box<SubstrateMaterial>)
Subsurface(Box<SubsurfaceMaterial>)
Translucent(Box<TranslucentMaterial>)
Uber(Box<UberMaterial>)

Implementations

impl Material[src]

Material defines the interface that material implementations must provide.

pub fn compute_scattering_functions(
    &self,
    si: &mut SurfaceInteraction<'_>,
    mode: TransportMode,
    allow_multiple_lobes: bool,
    mat: Option<Arc<Material>>,
    scale: Option<Spectrum>
)
[src]

The method is given a SurfaceInteraction object that contains geometric properties at an intersection point on the surface of a shape and is responsible for determining the reflective properties at the point and initializing some member variables.

pub fn bump(
    d: &Arc<dyn Texture<Float> + Send + Sync>,
    si: &mut SurfaceInteraction<'_>
) where
    Self: Sized
[src]

Computing the effect of bump mapping at the point being shaded given a particular displacement texture.

Auto Trait Implementations

impl !RefUnwindSafe for Material

impl Send for Material

impl Sync for Material

impl Unpin for Material

impl !UnwindSafe for Material

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.