postprocess_pixelate.frag 451 B

12345678910111213141516171819202122232425262728293031
  1. #ifdef OPENGL_ES
  2. precision mediump float;
  3. #endif
  4. // Uniforms
  5. uniform sampler2D u_texture;
  6. // Inputs
  7. varying vec2 v_texCoord;
  8. float discretize(float f, float d)
  9. {
  10. return floor(f*d + 0.5)/d;
  11. }
  12. vec2 discretize(vec2 v, float d)
  13. {
  14. return vec2(discretize(v.x, d), discretize(v.y, d));
  15. }
  16. void main()
  17. {
  18. vec2 texCoord = discretize(v_texCoord, 128.0);
  19. gl_FragColor = texture2D(u_texture, texCoord);
  20. }