39 lines
1.5 KiB
TypeScript
39 lines
1.5 KiB
TypeScript
|
declare namespace _default {
|
||
|
export { SPHERICAL_HARMONICS };
|
||
|
export { SPHERICAL_HARMONICS_AZIMUTH_RESOLUTION };
|
||
|
export { SPHERICAL_HARMONICS_ELEVATION_RESOLUTION };
|
||
|
export { SPHERICAL_HARMONICS_MAX_ORDER };
|
||
|
export { MAX_RE_WEIGHTS };
|
||
|
export { MAX_RE_WEIGHTS_RESOLUTION };
|
||
|
}
|
||
|
export default _default;
|
||
|
/**
|
||
|
* Pre-computed Spherical Harmonics Coefficients.
|
||
|
*
|
||
|
* This function generates an efficient lookup table of SH coefficients. It
|
||
|
* exploits the way SHs are generated (i.e. Ylm = Nlm * Plm * Em). Since Nlm
|
||
|
* & Plm coefficients only depend on theta, and Em only depends on phi, we
|
||
|
* can separate the equation along these lines. Em does not depend on
|
||
|
* degree, so we only need to compute (2 * l) per azimuth Em total and
|
||
|
* Nlm * Plm is symmetrical across indexes, so only positive indexes are
|
||
|
* computed ((l + 1) * (l + 2) / 2 - 1) per elevation.
|
||
|
* @type {Float32Array}
|
||
|
*/
|
||
|
declare const SPHERICAL_HARMONICS: Float32Array;
|
||
|
/** @type {Number} */
|
||
|
declare const SPHERICAL_HARMONICS_AZIMUTH_RESOLUTION: number;
|
||
|
/** @type {Number} */
|
||
|
declare const SPHERICAL_HARMONICS_ELEVATION_RESOLUTION: number;
|
||
|
/**
|
||
|
* The maximum allowed ambisonic order.
|
||
|
* @type {Number}
|
||
|
*/
|
||
|
declare const SPHERICAL_HARMONICS_MAX_ORDER: number;
|
||
|
/**
|
||
|
* Pre-computed per-band weighting coefficients for producing energy-preserving
|
||
|
* Max-Re sources.
|
||
|
*/
|
||
|
declare const MAX_RE_WEIGHTS: number[][];
|
||
|
/** @type {Number} */
|
||
|
declare const MAX_RE_WEIGHTS_RESOLUTION: number;
|