fs_texture_sdf.sc 581 B

1234567891011121314151617181920212223
  1. $input v_texcoord0, v_color0
  2. /*
  3. * Copyright 2011-2022 Branimir Karadzic. All rights reserved.
  4. * License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE
  5. */
  6. #include "common.sh"
  7. SAMPLER2D(s_texColor, 0);
  8. void main()
  9. {
  10. vec4 bgColor = vec4(0.0, 0.0, 0.0, 0.0);
  11. vec4 fgColor = vec4(1.0, 1.0, 1.0, 1.0);
  12. float sigDist = texture2DLod(s_texColor, v_texcoord0.xy, u_textureLod).x;
  13. float width = fwidth(sigDist);
  14. float edge = 0.5;
  15. float opacity = clamp(smoothstep(edge - width, edge + width, sigDist), 0.0, 1.0);
  16. gl_FragColor = mix(bgColor, fgColor, opacity);
  17. }