[−][src]Module tray_rust::bxdf
Defines the BxDF interface implemented by BRDF/BTDFs to describe material properties. Also provides the BSDF type which composes various BRDF/BTDFs to describe materials
Re-exports
pub use self::bsdf::BSDF; |
pub use self::lambertian::Lambertian; |
pub use self::oren_nayar::OrenNayar; |
pub use self::specular_reflection::SpecularReflection; |
pub use self::specular_transmission::SpecularTransmission; |
pub use self::merl::Merl; |
pub use self::torrance_sparrow::TorranceSparrow; |
pub use self::microfacet_transmission::MicrofacetTransmission; |
Modules
bsdf | Defines the BSDF which acts as a container for composing the various BRDFs and BTDFs that describe the surface's properties |
fresnel | Provides the Fresnel term trait and implementations for conductors and dielectric materials |
lambertian | Defines a Lambertion BRDF that describes perfectly diffuse surfaces. See Lambertian reflectance |
merl | The MERL BRDF represents the surface's properties through data loaded from a MERL BRDF Database file. The BRDF itself just stores the data loaded from the BRDF file while actual loading is done by the MERL material when it's created. |
microfacet | Module providing various microfacet distribution functions and trait that's implemented by all provided distributions |
microfacet_transmission | This module provides a microfacet model for transmission (a BTDF), see Walter et al. 07 for details. |
oren_nayar | Defines an Oren-Nayar BRDF that describes diffuse reflection from rough surfaces See Oren-Nayar reflectance model |
specular_reflection | Defines a BRDF that describes specular reflection |
specular_transmission | Defines a BTDF that describes specular transmission |
torrance_sparrow | This module provides the Torrance Sparrow microfacet BRDF, see Walter et al. 07 for details. |
Enums
BxDFType | Various types of BxDFs that can be selected to specify which types of surface functions should be evaluated |
Traits
BxDF | Trait implemented by BRDF/BTDFs in |
Functions
arctan_theta | Compute the value of arctan theta for a vector in shading space |
cos_phi | Compute the value of cosine phi for a vector in shading space |
cos_theta | Compute the value of cosine theta for a vector in shading space |
cos_theta_sqr | Compute the value of cosine^2 theta for a vector in shading space |
same_hemisphere | Check if two vectors are in the same hemisphere in shading space |
sin_phi | Compute the value of sine phi for a vector in shading space |
sin_theta | Compute the value of sine theta for a vector in shading space |
sin_theta_sqr | Compute the value of (sine theta)^2 for a vector in shading space |
tan_theta | Compute the value of tan theta for a vector in shading space |
tan_theta_sqr | Compute the value of tan theta^2 for a vector in shading space |