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
sourceimpl 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
sourceimpl Clone for TrowbridgeReitzDistribution
impl Clone for TrowbridgeReitzDistribution
sourcefn clone(&self) -> TrowbridgeReitzDistribution
fn clone(&self) -> TrowbridgeReitzDistribution
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Default for TrowbridgeReitzDistribution
impl Default for TrowbridgeReitzDistribution
sourcefn 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
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
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<R, P> ReadPrimitive<R> for P where
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for P where
R: Read + ReadEndian<P>,
P: Default,
sourcefn 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()
.
sourcefn read_from_big_endian(read: &mut R) -> Result<Self, Error>
fn read_from_big_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian()
.
sourcefn read_from_native_endian(read: &mut R) -> Result<Self, Error>
fn read_from_native_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian()
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more