glsl-halftone
A halftone shader in GLSL, adapted from Stefan Gustavson's work here. Bilinear texture sampling and minification are left up to the user to implement (see steps 5 and 9 in Gustavson's tutorial).
For anti-aliasing, you should enable standard derivatives at the top of your shader, before requiring this module.
precision highp float; #extension GL_OES_standard_derivatives : enable varying vec2 uv;uniform vec2 iResolution;uniform sampler2D u_sampler; # halftone = require('glsl-halftone') void
Usage
vec3 halftone(vec3 color, vec2 uv[, float frequency])
Applies a halftone effect to the given texture color using the uv
coordinates. Higher frequency
(default 30.0) leads to more tiling and smaller circles. Returns the RGB result.
Contributing
See stackgl/contributing for details.
License
The halftone effect is public domain, by Stefan Gustavson. This also uses Ashima's glsl-noise, which is MIT.
The rest of the adaptation is MIT, see LICENSE.md for details.