[require] GLSL >= 1.40 [fragment shader] #version 140 out vec4 sk_FragColor; uniform sampler2D uTextureSampler_0_Stage0; noperspective in vec3 vinShadowParams_Stage0; noperspective in vec4 vinColor_Stage0; void main() { vec4 outputColor_Stage0; vec4 outputCoverage_Stage0; { vec3 shadowParams; shadowParams = vinShadowParams_Stage0; outputColor_Stage0 = vinColor_Stage0; float d = length(shadowParams.xy); vec2 uv = vec2(shadowParams.z * (1.0 - d), 0.5); float factor = texture(uTextureSampler_0_Stage0, uv).w; outputCoverage_Stage0 = vec4(factor); } { sk_FragColor = outputColor_Stage0 * outputCoverage_Stage0; } } [vertex shader] #version 140 uniform vec4 sk_RTAdjust; in vec2 inPosition; in vec4 inColor; in vec3 inShadowParams; noperspective out vec3 vinShadowParams_Stage0; noperspective out vec4 vinColor_Stage0; void main() { vinShadowParams_Stage0 = inShadowParams; vinColor_Stage0 = inColor; vec2 pos2 = inPosition; gl_Position = vec4(pos2.x, pos2.y, 0.0, 1.0); gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w); }