pub struct UberMaterial { /* private fields */ }
Implementations§
Source§impl UberMaterial
impl UberMaterial
pub fn new( kd: &Arc<dyn Texture<Spectrum>>, ks: &Arc<dyn Texture<Spectrum>>, kr: &Arc<dyn Texture<Spectrum>>, kt: &Arc<dyn Texture<Spectrum>>, roughness: &Arc<dyn Texture<Float>>, u_roughness: &Option<Arc<dyn Texture<Float>>>, v_roughness: &Option<Arc<dyn Texture<Float>>>, opacity: &Arc<dyn Texture<Spectrum>>, eta: &Arc<dyn Texture<Float>>, bumpmap: &Option<Arc<dyn Texture<Float>>>, remaproughness: bool, ) -> Self
Trait Implementations§
Source§impl Material for UberMaterial
impl Material for UberMaterial
fn compute_scattering_functions( &self, si: &mut SurfaceInteraction, arena: &mut MemoryArena, mode: TransportMode, _allow_multiple_lobes: bool, )
fn bump(&self, d: &Arc<dyn Texture<Float>>, si: &mut SurfaceInteraction)
Auto Trait Implementations§
impl Freeze for UberMaterial
impl !RefUnwindSafe for UberMaterial
impl !Send for UberMaterial
impl !Sync for UberMaterial
impl Unpin for UberMaterial
impl !UnwindSafe for UberMaterial
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more