Show HN: Exophysics – WebGL2 particle simulator
exophysics.net
exophysics.net
It's designed to encourage creativity and exploration. You can just download one of those universes and open up the HTML file in a text editor to tweak the physical laws and constants. Then open it up in your browser to see the result immediately.
I had a lot of fun exploring the beautiful emergent behaviors that arise from those simple rules, give it a try too! There's plenty of documentation and you don't need to be a programming wizard. :)
The most interesting universes I came up with are on display here: https://exophysics.net/exhibition.html
> Finally, I am legally obliged to inform you of the one law of exophysics: > YOU ARE REQUIRED TO TERMINATE A SIMULATION IMMEDIATELY UPON FINDING > EVIDENCE OF THE EMERGENCE OF SENTIENT CREATURES CAPABLE OF SUFFERING.
LOL, I had to google "law of exophysics" to see if it is real.
I messed around with something similar a few years ago, based on (the code in) this video https://www.youtube.com/watch?v=Z_zmZ23grXE
Edit: Apparently there are a lot of these! This variant is also pretty cool (smaller particles, more like "fields"): https://www.youtube.com/watch?v=nu5aDIEoBk0
Yoshiki Ohshima also made the particle/fields simulator in Squeak/Etoys that Alan Kay demos is his talks [5] and was a scientist at Alan Kay's VPRI [4].
[1] http://tinlizzie.org/~ohshima/shadama2/
[2] https://www.youtube.com/user/yoshikiohshima/search?query=sha...
[3] http://tinlizzie.org/~ohshima/shadama2/live2017/#kedama
This is much more interesting than the keyword phrases "particle simulator" and "physics" would suggest!
Can you not cram something ALife related in there?
On vanilla Chrome 87, I get "Unable to initialize the shader program: Vertex shader active uniforms exceed GL_MAX_VERTEX_UNIFORM_VECTORS(256)" for most of them.
But a few work (swyrlyx.html) and are super cool! Nicely done.
Saldy, It doesn't work on chrome desktop though
Actually there is a compute shaders extension, but it is only available in certain drivers configurations in Firefox.
Chrome only plans to support WebGPU.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLTransf...
> The WebGLTransformFeedback interface is part of the WebGL 2 API and enables transform feedback, which is the process of capturing primitives generated by vertex processing. It allows to preserve the post-transform rendering state of an object and resubmit this data multiple times.