Struct rs_pbrt::materials::subsurface::SubsurfaceMaterial
source · pub struct SubsurfaceMaterial {
pub scale: Float,
pub kr: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub kt: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub sigma_a: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub sigma_s: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub u_roughness: Arc<dyn Texture<Float> + Sync + Send>,
pub v_roughness: Arc<dyn Texture<Float> + Sync + Send>,
pub bump_map: Option<Arc<dyn Texture<Float> + Send + Sync>>,
pub eta: Float,
pub remap_roughness: bool,
pub table: Arc<BssrdfTable>,
}
Fields§
§scale: Float
§kr: Arc<dyn Texture<Spectrum> + Sync + Send>
§kt: Arc<dyn Texture<Spectrum> + Sync + Send>
§sigma_a: Arc<dyn Texture<Spectrum> + Sync + Send>
§sigma_s: Arc<dyn Texture<Spectrum> + Sync + Send>
§u_roughness: Arc<dyn Texture<Float> + Sync + Send>
§v_roughness: Arc<dyn Texture<Float> + Sync + Send>
§bump_map: Option<Arc<dyn Texture<Float> + Send + Sync>>
§eta: Float
§remap_roughness: bool
§table: Arc<BssrdfTable>
Implementations§
source§impl SubsurfaceMaterial
impl SubsurfaceMaterial
pub fn new( scale: Float, kr: Arc<dyn Texture<Spectrum> + Sync + Send>, kt: Arc<dyn Texture<Spectrum> + Sync + Send>, sigma_a: Arc<dyn Texture<Spectrum> + Sync + Send>, sigma_s: Arc<dyn Texture<Spectrum> + Sync + Send>, g: Float, eta: Float, u_roughness: Arc<dyn Texture<Float> + Sync + Send>, v_roughness: Arc<dyn Texture<Float> + Sync + Send>, 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 SubsurfaceMaterial
impl Send for SubsurfaceMaterial
impl Sync for SubsurfaceMaterial
impl Unpin for SubsurfaceMaterial
impl !UnwindSafe for SubsurfaceMaterial
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