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§
source§impl 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§
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()
.