Hello three community,
I wanted to share a portfolio site I recently created that uses three.js to simulate a lava lamp via Marching Cubes objects whose lava blob movements correspond to “baked” MBall object paths from a Blender animation: https://ptr-cs.com
I am soliciting constructive criticism regarding the technical soundness of what I have programmed (and if there are opportunities for improvement in non-three.js aspects, I would love to hear those as well) - it’s not perfect, and I realize there are some things still missing but I tried really hard to make it at least somewhat elegant and performant (which in my book is a framerate of around 60fps, give or take depending on the complexity of the scene). This was my first project incorporating the Angular Three library and I am extremely impressed with the abstractions provided; I was also pleasantly surprised that I was able to incorporate certain techniques/patterns from Bruno Simon’s excellent Three JS Journey, albeit using different APIs.
I also have two specific technical questions:
-
I realize this is likely a very basic concept, but the answer has eluded me: what is the best way to rate-limit or offload to another thread a calculation-intense operation, within the context of an Angular app using three.js?
-
To enhance accessibility, I want to incorporate some type of AI-powered descriptive language service that describes the current content of the three.js scene - my initial thought on how to achieve this would be via capturing some type of screen grab from the current state of the three.js scene, then passing that image to the AI service. Is something like this currently implemented for three, or am I even on the right track?
I want to thank the mods/site maintainers for providing this forum - it is an incredible resource and community.
Very Respectfully,
-Parker