Implements the GGX bsdf with the Smith height-correlated shadow-masking model, as described in:
https://hal.archives-ouvertes.fr/hal-01509746/document
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE | GGXSmithBsdf (const float _roughness, bool _transmission=false, float _int_ior=1.0f, float _ext_ior=1.0f) |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE bool | is_transmissive () const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE bool | is_reflective () const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | get_eta (const float NoV) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE GGXSmithMicrofacetDistribution | distribution () const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | get_inv_eta (const float NoV) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | PredividedSmithJointApprox (const float NoV, const float NoL) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | PredividedSmithJoint (const float NoV, const float NoL) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | PredividedSmithG1V (const float NoV, const float NoL) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | SmithJoint (const float NoV, const float NoL) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | SmithG1 (const float NoV) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | dwo_dh_transmission_factor (const float VoH, const float LoH, const float eta, const float inv_eta) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f | f (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f L) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f | f_over_p (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f L) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE void | f_and_p (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f L, Vector3f &f, float &p, const SphericalMeasure measure=kProjectedSolidAngle) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float | p (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f L, const SphericalMeasure measure=kProjectedSolidAngle) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE void | sample (const DifferentialGeometry &geometry, const Vector3f H, const Vector3f V, Vector3f &L, Vector3f &g, float &p, float &p_proj) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE void | sample (const Vector3f u, const DifferentialGeometry &geometry, const Vector3f V, Vector3f &L, Vector3f &g, float &p, float &p_proj) const |
|
template<typename RandomGeneratorT > |
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE bool | invert (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f L, RandomGeneratorT &random, Vector3f &z, float &p, float &p_proj) const |
|
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE void | inverse_pdf (const DifferentialGeometry &geometry, const Vector3f V, const Vector3f L, const Vector3f u, float &p, float &p_proj) const |
|