glsl-halftone
a halftone effect in GLSL
Last updated 6 years ago by mattdesl .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install glsl-halftone 
SYNC missed versions from official npm registry.

glsl-halftone

stable

halftone

(glslbin demo)

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;

#ifdef GL_OES_standard_derivatives
#extension GL_OES_standard_derivatives : enable
#endif

varying vec2 uv;
uniform vec2 iResolution;
uniform sampler2D u_sampler;

#pragma glslify: halftone = require('glsl-halftone')

void main() {
  //sample from texture; optionally using manual bilinear filtering
  vec4 texcolor = texture2D(u_sampler, uv);

  //aspect corrected texture coordinates
  vec2 st = uv;
  st.x *= iResolution.x / iResolution.y;
  
  //apply halftone effect
  gl_FragColor.rgb = halftone(texcolor.rgb, st);
  gl_FragColor.a = 1.0;
}

Usage

NPM

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.

Current Tags

  • 1.0.4                                ...           latest (6 years ago)

5 Versions

  • 1.0.4                                ...           6 years ago
  • 1.0.3                                ...           6 years ago
  • 1.0.2                                ...           6 years ago
  • 1.0.1                                ...           6 years ago
  • 1.0.0                                ...           6 years ago
Downloads
Today 0
This Week 0
This Month 4
Last Day 0
Last Week 4
Last Month 1
Dependencies (2)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |