[require] GLSL >= 1.40 [fragment shader] #version 140 out vec4 sk_FragColor; uniform vec2 ufocalParams_Stage1_c0_c0_c0_c0; uniform vec4 ustart_Stage1_c0_c0_c1_c0; uniform vec4 uend_Stage1_c0_c0_c1_c0; noperspective in vec2 vTransformedCoords_0_Stage0; noperspective in vec2 vTransformedCoords_1_Stage0; flat in vec4 vcolor_Stage0; vec4 TwoPointConicalGradientLayout_Stage1_c0_c0_c0_c0(vec4 _input) { vec4 _output; vec2 p = vTransformedCoords_0_Stage0; float t = -1.0; float v = 1.0; { { float invR1 = ufocalParams_Stage1_c0_c0_c0_c0.x; float x_t = -1.0; { float temp = p.x * p.x - p.y * p.y; if (temp >= 0.0) { { x_t = sqrt(temp) - p.x * invR1; } } } { if (x_t <= 0.0) { v = -1.0; } } { { t = x_t; } } } } _output = vec4(t, v, 0.0, 0.0); return _output; } vec4 SingleIntervalGradientColorizer_Stage1_c0_c0_c1_c0(vec4 _input) { vec4 _output; float t = _input.x; _output = (1.0 - t) * ustart_Stage1_c0_c0_c1_c0 + t * uend_Stage1_c0_c0_c1_c0; return _output; } vec4 TiledGradientEffect_Stage1_c0_c0(vec4 _input) { vec4 _output; vec4 t = TwoPointConicalGradientLayout_Stage1_c0_c0_c0_c0(vec4(1.0)); if (t.y < 0.0) { _output = vec4(0.0); } else { { t.x = fract(t.x); } _output = SingleIntervalGradientColorizer_Stage1_c0_c0_c1_c0(t); } return _output; } void main() { vec4 output_Stage1; { output_Stage1 = TiledGradientEffect_Stage1_c0_c0(vec4(1.0, 1.0, 1.0, 1.0)); } vec4 output_Stage2; { output_Stage2 = output_Stage1; float value; { uint x = uint(vTransformedCoords_1_Stage0.x); uint y = uint(vTransformedCoords_1_Stage0.y); uint m = (((((y & 1u) << 5u | (x & 1u) << 4u) | (y & 2u) << 2u) | (x & 2u) << 1u) | (y & 4u) >> 1u) | (x & 4u) >> 2u; value = float(m) / 64.0 - 0.4921875; } output_Stage2 = vec4(clamp(output_Stage2.xyz + value * 0.0039215688593685627, 0.0, output_Stage2.w), output_Stage2.w); } { sk_FragColor = output_Stage2; } } [vertex shader] #version 140 uniform vec4 sk_RTAdjust; uniform mat3 uCoordTransformMatrix_0_Stage0; uniform mat3 uCoordTransformMatrix_1_Stage0; in vec2 position; in vec4 color; in vec2 localCoord; noperspective out vec2 vTransformedCoords_0_Stage0; noperspective out vec2 vTransformedCoords_1_Stage0; flat out vec4 vcolor_Stage0; void main() { vTransformedCoords_0_Stage0 = (uCoordTransformMatrix_0_Stage0 * vec3(localCoord, 1.0)).xy; vTransformedCoords_1_Stage0 = (uCoordTransformMatrix_1_Stage0 * vec3(localCoord, 1.0)).xy; vcolor_Stage0 = color; gl_Position = vec4(position.x, position.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); }