@sebavan, I finally had to do it… The first time I compiled RVO must have been using Adobe’s Alchemy (kind of an Emscripten ancestor). The problem is that whenever I feel like continuing the project, I spend more time playing with it than actually working on it…
Speaking of which, here is a new version using thin instances. I also restored the left-click selection to assign new goals to the selected agents.
Finally, the URL has changed; you can now manually set the number of agents:
https://www.visualiser.fr/horde-thin/?n=3200 (max n is 50,000 if you want to break your PC…).
Regarding the WASM build, I’m using the “old school” method: I manually expose the necessary methods instead of using Emscripten’s embind.
For the thin instances, the thinInstanceBuffer is directly built on the RVO side, which takes the load off Babylon.js. I’m basically mapping the array directly from the WASM heap:
this.agentsPosRot = new Float32Array(dataHeap.buffer, dataHeap.byteOffset, dataLength);
this.father.thinInstanceSetBuffer(“matrix”, this.agentsPosRot, 16);
Have a good play !
