Struct arendur::bxdf::oren_nayar::OrenNayer
[−]
[src]
pub struct OrenNayer { /* fields omitted */ }
An Oren-Nayer brdf as per https://en.wikipedia.org/wiki/Oren%E2%80%93Nayar_reflectance_model
Methods
impl OrenNayer
[src]
fn new(reflectance: RGBSpectrumf, sigma: Float) -> OrenNayer
construction, sigma in radians
Trait Implementations
impl Copy for OrenNayer
[src]
impl Clone for OrenNayer
[src]
fn clone(&self) -> OrenNayer
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for OrenNayer
[src]
impl Bxdf for OrenNayer
[src]
fn kind(&self) -> BxdfType
returns the type of the bxdf
fn evaluate(&self, wo: Vector3f, wi: Vector3f) -> RGBSpectrumf
evaluate the function given two normalized directions
fn is(&self, t: BxdfType) -> bool
check if the type matches
fn evaluate_sampled(
&self,
wo: Vector3f,
u: Point2f
) -> (RGBSpectrumf, Vector3f, Float, BxdfType)
&self,
wo: Vector3f,
u: Point2f
) -> (RGBSpectrumf, Vector3f, Float, BxdfType)
Given an outgoing direction wo
, and a uniform sample u
from $[0,1)2$, sample an incoming direction wi
, and returns it with function value evaluated as f(wo, wi)
, as well as the pdf associated with the incoming direction, as well as the type of the scattering event. Read more
fn evaluate_importance(&self, wo: Vector3f, wi: Vector3f) -> RGBSpectrumf
evaluate the function given two normalized directions, the particle being traced is camera-ray importance, rather than light radiance. Read more
fn evaluate_importance_sampled(
&self,
wo: Vector3f,
u: Point2f
) -> (RGBSpectrumf, Vector3f, Float, BxdfType)
&self,
wo: Vector3f,
u: Point2f
) -> (RGBSpectrumf, Vector3f, Float, BxdfType)
Given an outgoing direction wo
, and a uniform sample u
from $[0,1)2$, sample an incoming direction wi
, and returns it with function value evaluated as f(wo, wi)
, as well as the pdf associated with the incoming direction, as well as the type of the scattering event. The particles being traced is camera-ray importance, rather tan light radiance Read more
fn pdf(&self, wo: Vector3f, wi: Vector3f) -> Float
evalute pdf given the incoming and outgoing direction
fn rho_hd(&self, wo: Vector3f, samples: &[Point2f]) -> RGBSpectrumf
hemispherical-directional reflectance
fn rho_hh(&self, samples0: &[Point2f], samples1: &[Point2f]) -> RGBSpectrumf
hemispherical-hemispherical reflactance