pub struct GlassMaterial {
pub kr: Arc<dyn Texture<Spectrum> + Sync + Send>,
pub kt: 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 index: Arc<dyn Texture<Float> + Sync + Send>,
pub bump_map: Option<Arc<dyn Texture<Float> + Send + Sync>>,
pub remap_roughness: bool,
}
Expand description
Perfect or glossy specular reflection and transmission, weighted by Fresnel terms for accurate angular-dependent variation.
Fields
kr: Arc<dyn Texture<Spectrum> + Sync + Send>
kt: Arc<dyn Texture<Spectrum> + Sync + Send>
u_roughness: Arc<dyn Texture<Float> + Sync + Send>
v_roughness: Arc<dyn Texture<Float> + Sync + Send>
index: Arc<dyn Texture<Float> + Sync + Send>
bump_map: Option<Arc<dyn Texture<Float> + Send + Sync>>
remap_roughness: bool
Implementations
sourceimpl GlassMaterial
impl GlassMaterial
pub fn new(
kr: Arc<dyn Texture<Spectrum> + Sync + Send>,
kt: Arc<dyn Texture<Spectrum> + Sync + Send>,
u_roughness: Arc<dyn Texture<Float> + Sync + Send>,
v_roughness: Arc<dyn Texture<Float> + Sync + Send>,
index: 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 GlassMaterial
impl Send for GlassMaterial
impl Sync for GlassMaterial
impl Unpin for GlassMaterial
impl !UnwindSafe for GlassMaterial
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more