Deprecated: you may find this useful as a reference, but it's otherwise more worthwhile writing your own implementation :)
A generic GLSL post-processing module for applying super-speedy GPU effects to
any <img>
, <canvas>
or <video>
element. If you're already working with a
3D scene you're better off using
an FBO, but this is useful for cases
where you've already got a 2D canvas/video thing and just want to add some
niceties.
Takes the following and returns a new post-processing object:
gl
is a WebGL canvas context.element
is a canvas element, video or image.frag
is a fragment shader, which may either be specified as a string or as a gl-shader.vert
is a vertex shader, and optional - you'll only need to specify this in special cases.
Your shader is supplied the following uniforms:
float width
: the width of the element in pixels.float height
: the height of the element in pixels.sampler2D map
: theelement
you specified as a texture.
Renders element
to gl
, using the shader specified above. You can
optionally pass a width
and height
value to override the defaults,
which are the dimensions of element
.