@woosh/meep-engine 3.17.1 → 3.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Computes per-source occlusion + transmission by shooting rays from the listener toward points spread
|
|
3
|
-
* over the source's sphere and counting how many are blocked by the {@link AcousticOccluderIndex}.
|
|
4
|
-
*
|
|
5
|
-
* - Volumetric (not boolean): occlusion is the FRACTION of blocked rays, so partially-hidden sources
|
|
6
|
-
* attenuate smoothly instead of popping on/off.
|
|
7
|
-
* - Transmission: blocked rays accumulate their occluder's per-band transmission; the average is the
|
|
8
|
-
* energy that leaks through.
|
|
9
|
-
* - Temporal: the fibonacci sample set is randomly re-oriented each tick (seeded), and the result is
|
|
10
|
-
* folded into an {@link AcousticSourceState} via EMA — so a low per-tick ray count integrates over
|
|
11
|
-
* frames and the output stays frame-stable.
|
|
12
|
-
*
|
|
13
|
-
* Pure: geometry in, numbers out. No WebAudio, no ECS, no allocation.
|
|
14
|
-
*/
|
|
15
|
-
export class OcclusionSolver {
|
|
16
|
-
/**
|
|
17
|
-
* @param {Vector3} listener listener world position
|
|
18
|
-
* @param {Vector3} source source world position
|
|
19
|
-
* @param {number} sourceRadius apparent radius of the source (0 = point source → boolean occlusion)
|
|
20
|
-
* @param {AcousticOccluderIndex} index
|
|
21
|
-
* @param {number} rayCount rays shot this tick (≥ 1)
|
|
22
|
-
* @param {number} smoothing EMA factor in (0, 1] — 1 = no smoothing
|
|
23
|
-
* @param {function():number} random seeded RNG; decorrelates the sample set per call
|
|
24
|
-
* @param {AcousticSourceState} state per-source temporal accumulation (mutated)
|
|
25
|
-
* @param {AcousticSolution} out occlusion + transmission written here (medium untouched)
|
|
26
|
-
*/
|
|
27
|
-
solve(listener: Vector3, source: Vector3, sourceRadius: number, index: AcousticOccluderIndex, rayCount: number, smoothing: number, random: () => number, state: AcousticSourceState, out: AcousticSolution): void;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=OcclusionSolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OcclusionSolver.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/sound/simulation/core/OcclusionSolver.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;GAaG;AACH;IACI;;;;;;;;;;OAUG;IACH,wDARW,MAAM,0CAEN,MAAM,aACN,MAAM,gBACK,MAAM,2DA4F3B;CACJ"}
|