21 #ifndef LIB_LIGHTMETRICA_MATH_STATS_H
22 #define LIB_LIGHTMETRICA_MATH_STATS_H
24 #include "math.vector.h"
27 LM_MATH_NAMESPACE_BEGIN
29 template <
typename T> LM_FORCE_INLINE
TVec2<T> UniformConcentricDiskSample(
const TVec2<T>& u);
30 template <
typename T> LM_FORCE_INLINE
TPDFEval<T> UniformConcentricDiskSamplePDF();
31 template <
typename T> LM_FORCE_INLINE
TVec3<T> CosineSampleHemisphere(
const TVec2<T>& u);
32 template <
typename T> LM_FORCE_INLINE
TPDFEval<T> CosineSampleHemispherePDF(
const TVec3<T>& d);
33 template <
typename T> LM_FORCE_INLINE
TPDFEval<T> CosineSampleHemispherePDFProjSA(
const TVec3<T>& d);
34 template <
typename T> LM_FORCE_INLINE
TVec3<T> UniformSampleHemisphere(
const TVec2<T>& u);
35 template <
typename T> LM_FORCE_INLINE
TPDFEval<T> UniformSampleHemispherePDF();
36 template <
typename T> LM_FORCE_INLINE
TVec3<T> UniformSampleSphere(
const TVec2<T>& u);
37 template <
typename T> LM_FORCE_INLINE
TPDFEval<T> UniformSampleSpherePDF();
38 template <
typename T> LM_FORCE_INLINE
TVec2<T> UniformSampleTriangle(
const TVec2<T>& u);
43 #include "math.stats.inl"
45 #endif // LIB_LIGHTMETRICA_MATH_STATS_H
Definition: math.pdf.h:80
Definition: math.vector.h:31
Definition: math.vector.h:30