The technology used here to do the image processing is GLSL, in particular fragment shaders (aka pixel shaders). GLSL is a very small C-like language that's become a standard for GPUs. GLSL code gets sent (as a string) to the GPU by javascript via the WebGL API. Seriously is a JS library for handling the boilerplate of WebGL, composing and compositing multiple shaders in a pipeline/graph, and adjusting their paramete…
https://www.shadertoy.com/browse (WARNING: it can freeze your browser)
Seriously.js
191–196 of 196 posts
Re: Seriously.js
#192"Sadly, we are unable to get Seriously.js to work on your computer. Sometimes WebGL gets a bit weird with certain graphics hardware and drivers. Please have a look here for more information."
1. Visiting chrome://flags 2. Scrolling down to Disable WebGL, hitting "Enable", and then "Relaunch now" 3. Repeating steps 1 and 2, but hitting "Disable" rather than "Enable".
Re: Seriously.js
#193Earlier quoted context omitted.
Just draw the frames to a 2D canvas, without clearing it, then back to the background buffer.
You still need to remove the green-screen. This either means an expensive process on the CPU side, or pushing the frame to the GPU to remove it with a shader and then using RTT and rendering that or reading the framebuffer and drawing that to a canvas. Note, it's really not difficult to do this, it's just slightly more complex than the other effects, is all.
Re: Seriously.js
#194Finally a demo that doesn't make me think "Wow, the web has really caught up to the 1995 desktop!" Maybe if you're already an after-effects wiz this doesn't seem as magical, but it certainly felt like magic to me.
Re: Seriously.js
#195IN JS? This is so cool. Also: fun to compare the raw video to the original: http://www.youtube.com/watch?v=12zJw9varYE :)
Would also be interesting to see if they could recreate the effect of the original video in JS also.
It's full of lots of (mostly green) noise because the demo's chroma key algorithm/parameters aren't that good, but it was fun to do!
Re: Seriously.js
#196Earlier quoted context omitted.
You still need to remove the green-screen. This either means an expensive process on the CPU side, or pushing the frame to the GPU to remove it with a shader and then using RTT and rendering that or reading the framebuffer and drawing that to a canvas. Note, it's really not difficult to do this, it's just slightly more complex than the other effects, is all.
The demo is already removing the green-screen, I don't think that's the most expensive part.