precision mediump float; varying vec2 TexCoord; uniform sampler2D uText; uniform vec4 uColor; //uniform float uOutlineWidth; // Убрано дефолтное значение void main() { float dist = texture2D(uText, TexCoord).r; float uOutlineWidth = 0.7; float outline = smoothstep(0.5 - uOutlineWidth, 0.5 + uOutlineWidth, dist); float text = smoothstep(0.5, 0.6, dist); // 0.5 + 0.1 вычислено заранее float glow = exp(-pow(dist - 0.5, 2.0) / 0.02); gl_FragColor = vec4(uColor.rgb * (text + glow * 0.6), uColor.a * outline); }