Struct rs_pbrt::core::microfacet::TrowbridgeReitzDistribution
source · pub struct TrowbridgeReitzDistribution {
pub alpha_x: Float,
pub alpha_y: Float,
pub sample_visible_area: bool,
}
Fields§
§alpha_x: Float
§alpha_y: Float
§sample_visible_area: bool
Implementations§
source§impl TrowbridgeReitzDistribution
impl TrowbridgeReitzDistribution
pub fn new(alpha_x: Float, alpha_y: Float, sample_visible_area: bool) -> Self
sourcepub fn roughness_to_alpha(roughness: Float) -> Float
pub fn roughness_to_alpha(roughness: Float) -> Float
Microfacet distribution function: In comparison to the Beckmann-Spizzichino model, Trowbridge-Reitz has higher tails - it falls off to zero more slowly for directions far from the surface normal.
pub fn d(&self, wh: &Vector3f) -> Float
pub fn lambda(&self, w: &Vector3f) -> Float
pub fn g1(&self, w: &Vector3f) -> Float
pub fn g(&self, wo: &Vector3f, wi: &Vector3f) -> Float
pub fn pdf(&self, wo: &Vector3f, wh: &Vector3f) -> Float
pub fn sample_wh(&self, wo: &Vector3f, u: &Point2f) -> Vector3f
pub fn get_sample_visible_area(&self) -> bool
Trait Implementations§
source§impl Clone for TrowbridgeReitzDistribution
impl Clone for TrowbridgeReitzDistribution
source§fn clone(&self) -> TrowbridgeReitzDistribution
fn clone(&self) -> TrowbridgeReitzDistribution
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for TrowbridgeReitzDistribution
impl Default for TrowbridgeReitzDistribution
source§fn default() -> TrowbridgeReitzDistribution
fn default() -> TrowbridgeReitzDistribution
Returns the “default value” for a type. Read more
impl Copy for TrowbridgeReitzDistribution
Auto Trait Implementations§
impl RefUnwindSafe for TrowbridgeReitzDistribution
impl Send for TrowbridgeReitzDistribution
impl Sync for TrowbridgeReitzDistribution
impl Unpin for TrowbridgeReitzDistribution
impl UnwindSafe for TrowbridgeReitzDistribution
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> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.