Shader Park: A JavaScript library for creating interactive procedural shaders
shaderpark.com
shaderpark.com
Congrats to the Shader Park team on the release!
I haven't looked very deeply in the codebase but it seems to be a JS abstraction/generator library for GLSL. So now the high-level pipeline as I understand it is ShaderPark > GLSL > WebGL.
https://github.com/shader-park/shader-park-core/blob/master/...
I viewed the page on my crappy Android phone and got maybe 5fps. Anyone shipping an experience like that hasn't done a good job of supporting their users.
In my experience, it is hard. As you suddenly don't have only one result you need to test and polish, but many different ones. So it is possible, but it is not easy to do right, except for very small applications.
And as for the example here, well - it is a collection of many examples, loading all at once. Of course it is hardware intense - but in a real world project, you would use only some of it, or make a disclaimer, that it is hardware intense, but if you make a game, I think it is expected, that it does not run on all hardware?
In the case of WebGL you need to account for more than the browser. If the user's GPU is on Chrome's blacklist then they won't see anything - and the only way to do that is using the GPU detection functions I mentioned. You have to do progressive enhancement for 3D stuff. And if you've implemented it for that then you have the necessary infrastructure in the code to do it for performance as well, so it's not hard...
Usually that is: "sorry, your browser does not support webGL". How can you do 3D stuff without? Software rendering in canvas? Good luck.
It’s a very cool rendering tech and nice to see an easy to use library like this. I’m curious what the rendering stack looks like and what the performance is? SDFs are usually pretty expensive to render.