Fermat
Public Methods | Public Members | List of all members
cugar::LTCBsdf::LTC Struct Reference

Public Methods

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE LTC (const float cosTheta, const float4 *tabM, const float4 *tabMinv, const float *tabA, const uint32 size)
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f transform (const Vector3f L) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE Vector3f inv_transform (const Vector3f L) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float p (const Vector3f L) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float clipped_edge_integral (const cugar::Vector3f p0, const cugar::Vector3f p1) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float clipped_polygon_integral (const uint32 n, const cugar::Vector3f p[5]) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float small_hemispherical_sector_integral (const Matrix3x3f &T, const float2 theta, const float2 phi) const
 
CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float hemispherical_sector_integral (const Matrix3x3f &T, const float2 theta, const float2 phi) const
 

Public Members

Vector4f m
 
Vector4f m_inv
 
float detMinv
 
float amplitude
 

Member Function Documentation

◆ clipped_edge_integral()

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::LTCBsdf::LTC::clipped_edge_integral ( const cugar::Vector3f  p0,
const cugar::Vector3f  p1 
) const
inline

return the integral of an edge in the upper hemisphere

◆ clipped_polygon_integral()

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::LTCBsdf::LTC::clipped_polygon_integral ( const uint32  n,
const cugar::Vector3f  p[5] 
) const
inline

return the integral of a quadrilateral polygon in the upper hemisphere

◆ hemispherical_sector_integral()

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::LTCBsdf::LTC::hemispherical_sector_integral ( const Matrix3x3f T,
const float2  theta,
const float2  phi 
) const
inline

compute the integral of a general sector, with arbitrary theta and phi ranges

◆ small_hemispherical_sector_integral()

CUGAR_FORCEINLINE CUGAR_HOST_DEVICE float cugar::LTCBsdf::LTC::small_hemispherical_sector_integral ( const Matrix3x3f T,
const float2  theta,
const float2  phi 
) const
inline

compute the integral of a "small" sector, with the phi range smaller than PI


The documentation for this struct was generated from the following file: