UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

29 lines (23 loc) 1.2 kB
# Tools for working with spherical harmonics. Mostly intended for shading and global illumination. ## De-ringing There are basically 3 approaches, * one is filtering using some kind of a smoothing function such as Lanczos * Optimization of the polynomial (generally to remove negative values) * Piece-wise reconstruction ## Coefficients of SH basis see [3] (Stupid Spherical Harmonics) 1.0 / (2.0 * M_SQRT_PI), // 0: 0 0 -M_SQRT_3 / (2.0 * M_SQRT_PI), // 1: 1 -1 M_SQRT_3 / (2.0 * M_SQRT_PI), // 2: 1 0 -M_SQRT_3 / (2.0 * M_SQRT_PI), // 3: 1 1 M_SQRT_15 / (2.0 * M_SQRT_PI), // 4: 2 -2 -M_SQRT_15 / (2.0 * M_SQRT_PI), // 5: 2 -1 M_SQRT_5 / (4.0 * M_SQRT_PI), // 6: 2 0 -M_SQRT_15 / (2.0 * M_SQRT_PI), // 7: 2 1 M_SQRT_15 / (4.0 * M_SQRT_PI) // 8: 2 2 ### References: --- * [1] 2008 - GDC - Stupid Spherical Harmonics (SH) Tricks by Peter-Pike Sloan * [2] [Computing product of 2 sphecial harmonics](https://github.com/ruba/cortex-vfx/blob/c256b7274516a02fa64a0260351b86f1d6ebe8c2/include/IECore/SphericalHarmonicsAlgo.inl) * [3] Stupid Spherical Harmonics