pub struct HairBSDF {
pub h: Float,
pub gamma_o: Float,
pub eta: Float,
pub sigma_a: Spectrum,
pub beta_m: Float,
pub beta_n: Float,
pub v: [Float; 4],
pub s: Float,
pub sin_2k_alpha: [Float; 3],
pub cos_2k_alpha: [Float; 3],
pub sc_opt: Option<Spectrum>,
}
Fields
h: Float
gamma_o: Float
eta: Float
sigma_a: Spectrum
beta_m: Float
beta_n: Float
v: [Float; 4]
s: Float
sin_2k_alpha: [Float; 3]
cos_2k_alpha: [Float; 3]
sc_opt: Option<Spectrum>
Implementations
sourceimpl HairBSDF
impl HairBSDF
pub fn new(
h: Float,
eta: Float,
sigma_a: Spectrum,
beta_m: Float,
beta_n: Float,
alpha: Float,
sc_opt: Option<Spectrum>
) -> Self
pub fn compute_ap_pdf(&self, cos_theta_o: Float) -> [Float; 4]
pub fn sigma_a_from_concentration(ce: Float, cp: Float) -> Spectrum
pub fn sigma_a_from_reflectance(c: Spectrum, beta_n: Float) -> Spectrum
pub fn f(&self, wo: &Vector3f, wi: &Vector3f) -> Spectrum
pub fn sample_f(
&self,
wo: &Vector3f,
wi: &mut Vector3f,
sample: &Point2f,
pdf: &mut Float,
_sampled_type: &mut u8
) -> Spectrum
pub fn pdf(&self, wo: &Vector3f, wi: &Vector3f) -> Float
pub fn get_type(&self) -> u8
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for HairBSDF
impl Send for HairBSDF
impl Sync for HairBSDF
impl Unpin for HairBSDF
impl UnwindSafe for HairBSDF
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)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more