This is a refreshing take on a shader-sharing platform. My first thought was "Here's another Shadertoy competitor", but this was quashed by two core features that I think are done really well:
- A cleaner / extensive code editor (that also supports JS, woop!)
- Conversion of shader output to GIFs... Even on a laptop with a dedicated GPU, Shadertoy pulls the rug from underneath my system resources
I would like to see a grid-view (unless this already exists and I missed it) of the feed, as I don't think scrolling through a feed of linear, huge one-by-one posts is good for discovery.
Just a question since you're here: I've poked around with WebGL / GLSL in the past and have started to get into Metal (mainly out of necessity for macOS development) — is there scope for Metal to be ported / rendered on the web, and if so would you be interested in adding that as a language?
there's no fight. all the major players are working out the details. the last major detail is what format the shader language will be. Google and Mozilla are currently pushing for a subset of SPIR/V, Microsoft and Apple are pushing for a subset of HLSL. Both seem to have their merits
I don't think Microsoft has stated a position on this yet. It has mostly just been Apple pushing for WebHLSL as the shader ingestion format, with most everyone else in favor of SPIR-V with a restricted execution environment.
Yeah, it's terrible how things like Google analytics, web fonts, can slow things down. I tried to keep this app as light as possible. Of course, I will not get a lot of data for analysis, but as a user, I know what can be improved, I don't need to monitor every click, typed keys, mouse moves, ...
google analytics is the only 3rd party script I am okay with. Maybe you should add it sometime in the future to get a rough idea about your users, I was talking mainly about the more intrusive analytics and ads scripts that plagued the web. It's rare to see anybody who respect his users to that extent these days :D respect again!
This may sound like an odd request but at a creative codejam in Berlin a while back I saw something like this but "multiplayer" - different people could log on to a room and edit live. In this example they couldn't edit each others code but all shared the same output window. It used Processing.
It ended up being kind of a shared creation/remix experience which was really cool. I figure adding live simultaneous edits is a fairly difficult ask but it's immediately what I looked for when I saw your page.
One feature I found myself missing from ShaderToy is that you can't have render targets of arbitrary size. You have Buffer A/B/C/D but they're all the same size as the canvas. I would love to see a way to specify a shader that generates a 64x64 texture for example, that would allow some nice effects like a simple low res fluid sim.
i used this platform very first time and now a days i'm taking help from here: https://theanimationstudio.co/ regarding art and animation point of view.
- Ruby on Rails
- Vue
- CodeMirror
- gif.js
- avconv (FFMPEG) for video previews
- A $5/Month Linode server
The server handled being top 3 on HN with about 20 reqs/second with less than 15% CPU load.
The editor uses an architecture that allows me to quickly add a new language. Just create a class & reference it.
EDIT: Forgot to mention important parts:
- Bulma CSS
- feather SVG icons (https://feathericons.com/)
- zip.js