Classes | |
| struct | ZFXMath::SphericalHarmonics::TDevice< PrecisionType, FuncValueType > |
| Spherical Harmonic Lighting Device. More... | |
| class | ZFXMath::SphericalHarmonics::TRotateMatrix< PrecisionType, FuncValueType > |
| Rotation Matrix, to transform SH Coefficients. More... | |
| class | ZFXMath::SphericalHarmonics::TRotateMatrix< PrecisionType, FuncValueType >::SubMatrix |
| struct | ZFXMath::SphericalHarmonics::TSample< PrecisionType > |
| Point on a unit Sphere. More... | |
| struct | ZFXMath::SphericalHarmonics::TSphericalFunction< PrecisionType, FuncValueType > |
| Spherical Function Interface. More... | |
| class | ZFXMath::SphericalHarmonics::TCoeffs< T > |
| Contains a SH comressed spherical function. More... | |
| class | ZFXMath::SphericalHarmonics::TCoeffs< T >::TAllocator< TAlloc > |
| Allocator for coefficients. More... | |
Functions | |
| template<class PrecisionType> SphericalHarmonics::TSample< PrecisionType > * | GenerateSamples (const int nb_samples) |
| GenerateSamples. | |
| template<class PrecisionType> PrecisionType | drand48 () |
| int | lrand48 () |
| template<class PrecisionType> void | MultiStageNRooks (const int size, int *cells) |
| int | delta (const int m, const int n) |
| template<class PrecisionType> void | uvw (const int l, const int m, const int n, PrecisionType &u, PrecisionType &v, PrecisionType &w) |
| template<class PrecisionType, class FuncValueType> PrecisionType | M (const int l, const int m, const int n, const TRotateMatrix< PrecisionType, FuncValueType > &M) |
| template<class PrecisionType, class FuncValueType> PrecisionType | P (const int i, const int l, const int a, const int b, const TRotateMatrix< PrecisionType, FuncValueType > &M) |
| template<class PrecisionType, class FuncValueType> PrecisionType | U (const int l, const int m, const int n, const TRotateMatrix< PrecisionType, FuncValueType > &M) |
| template<class PrecisionType, class FuncValueType> PrecisionType | V (const int l, const int m, const int n, const TRotateMatrix< PrecisionType, FuncValueType > &M) |
| template<class PrecisionType, class FuncValueType> PrecisionType | W (const int l, const int m, const int n, const TRotateMatrix< PrecisionType, FuncValueType > &M) |
| template<class PrecisionType, class FuncValueType> void | SHRotate (TRotateMatrix< PrecisionType, FuncValueType > &shrm, const TMatrix3x3< PrecisionType > &rotation) |
| fill an SHRotateMatrix by an ordinary 4x4-Matrix | |
| template<class PrecisionType, class FuncValueType> void | Project (const TSphericalFunction< PrecisionType, FuncValueType > &func, const TSample< PrecisionType > *samples, const TCoeffs< PrecisionType > *coeffs, const int nb_samples, TCoeffs< FuncValueType > &dest) |
| template<class PrecisionType> PrecisionType | P (const int l, const int m, const PrecisionType x) |
| template<class PrecisionType> PrecisionType | y (const int l, const int m, const PrecisionType theta, const PrecisionType phi) |
| template<class PrecisionType> PrecisionType | K (const int l, const int m) |
Based on Spherical Harmonic Rotation Don Williamson, July 2004 http://www.donw.co.uk
|
||||||||||
|
Method of uniformly distributing samples over a sphere From ACM Journal of Graphics Tools (http://www.acm.org/jgt) Thanks for Robin Green for suggestion |
1.3.8