fragment.glsl 689 B

1234567891011121314151617181920212223242526
  1. #ifdef GL_ES
  2. #define LOWP lowp
  3. precision mediump float;
  4. #else
  5. #define LOWP
  6. #endif
  7. const float offset = 1.0 / 128.0;
  8. varying vec2 v_texCoords;
  9. uniform sampler2D u_texture;
  10. void main()
  11. {
  12. vec4 col = texture2D(u_texture, v_texCoords);
  13. if (col.a > 0.5)
  14. gl_FragColor = col;
  15. else {
  16. float a = texture2D(u_texture, vec2(v_texCoords.x + offset, v_texCoords.y)).a +
  17. texture2D(u_texture, vec2(v_texCoords.x, v_texCoords.y - offset)).a +
  18. texture2D(u_texture, vec2(v_texCoords.x - offset, v_texCoords.y)).a +
  19. texture2D(u_texture, vec2(v_texCoords.x, v_texCoords.y + offset)).a;
  20. if (col.a < 1.0 && a > 0.0)
  21. gl_FragColor = vec4(0.0, 0.0, 0.0, 0.8);
  22. else
  23. gl_FragColor = col;
  24. }
  25. }