SwissGL: Swiss Army Knife for WebGL2
github.com
github.com
I'm planning to switch to WebGPU once it's widely supported. I also think there's a chance for SwissGL.c, SwissGL.py and SwissGL.zig
Interestingly enough projects such as Godot seem to until recently give preference to other APIs such as Vulkan and OpenGL ES 2 over OpenGL ES 3, not sure why though [1]. The biggest culprits seem to be mobile and Safari not implementing WebGL 2 until last year (what the hell Apple) [2].
I should note I'm not really familiar with neither APIs and only have a high-level understanding of WebGL.
[0]: https://hacks.mozilla.org/2017/01/webgl-2-lands-in-firefox/
[1]: https://godotengine.org/article/abandoning-gles3-vulkan-and-...
[2]: https://godotengine.org/article/about-godot4-vulkan-gles3-an...
There is very little reason to restrict yourself to WebGL 1 anymore, but many existing projects are still on WebGL 1 because Safari didn't support WebGL 2 when they were written.
WebGL 2 is going to be the best option for a long time. While WebGPU is in progress it will be many, many years before it is supported anywhere near as widely as WebGL 2.
So here we are without WebGPU being stable and without WebGL compute.
Chrome could have done it on top of Metal.
"At the time" was 2021.
Politics.
-- Sep 24, 2020,
https://registry.khronos.org/webgl/specs/latest/2.0-compute/
-- Last update, regarding deprecation, 31 March 2021
Hence 2021.
Same reasoning could be applied to Microsoft and Sony Playstation browsers, where neither of them support GL.
Fact is that after all these years, WebGPU still isn't here as stable version that one can rely on, and even then it is only a MVP with an incompatible shader language.