Struct rs_pbrt::materials::uber::UberMaterial
source · pub struct UberMaterial {
pub kd: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub ks: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub kr: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub kt: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub opacity: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub roughness: Arc<dyn Texture<Float> + Sync + Send>,
pub u_roughness: Option<Arc<dyn Texture<Float> + Sync + Send>>,
pub v_roughness: Option<Arc<dyn Texture<Float> + Sync + Send>>,
pub eta: Arc<dyn Texture<Float> + Sync + Send>,
pub bump_map: Option<Arc<dyn Texture<Float> + Sync + Send>>,
pub remap_roughness: bool,
}
Fields§
§kd: Arc<dyn Texture<Spectrum> + Sync + Send>
§ks: Arc<dyn Texture<Spectrum> + Sync + Send>
§kr: Arc<dyn Texture<Spectrum> + Sync + Send>
§kt: Arc<dyn Texture<Spectrum> + Sync + Send>
§opacity: Arc<dyn Texture<Spectrum> + Sync + Send>
§roughness: Arc<dyn Texture<Float> + Sync + Send>
§u_roughness: Option<Arc<dyn Texture<Float> + Sync + Send>>
§v_roughness: Option<Arc<dyn Texture<Float> + Sync + Send>>
§eta: Arc<dyn Texture<Float> + Sync + Send>
§bump_map: Option<Arc<dyn Texture<Float> + Sync + Send>>
§remap_roughness: bool
Implementations§
source§impl UberMaterial
impl UberMaterial
pub fn new( kd: Arc<dyn Texture<Spectrum> + Sync + Send>, ks: Arc<dyn Texture<Spectrum> + Sync + Send>, kr: Arc<dyn Texture<Spectrum> + Sync + Send>, kt: Arc<dyn Texture<Spectrum> + Sync + Send>, roughness: Arc<dyn Texture<Float> + Sync + Send>, u_roughness: Option<Arc<dyn Texture<Float> + Sync + Send>>, v_roughness: Option<Arc<dyn Texture<Float> + Sync + Send>>, opacity: Arc<dyn Texture<Spectrum> + Sync + Send>, eta: Arc<dyn Texture<Float> + Send + Sync>, bump_map: Option<Arc<dyn Texture<Float> + Sync + Send>>, remap_roughness: bool ) -> Self
pub fn create(mp: &mut TextureParams) -> Arc<Material>
pub fn compute_scattering_functions( &self, si: &mut SurfaceInteraction<'_>, mode: TransportMode, _allow_multiple_lobes: bool, _material: Option<Arc<Material>>, scale_opt: Option<Spectrum> )
Auto Trait Implementations§
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