#ifdef GL_ES precision mediump float; #endif IN(0) vec2 tex_coord_0; UNIFORM_BEGIN UNIFORM_V(vec2 scale) UNIFORM_V(vec2 offset) UNIFORM_V(vec2 rotation) UNIFORM_V(vec2 tex_offset) UNIFORM_V(vec2 tex_scale) UNIFORM_F(float aberration_offset) UNIFORM_V(mat4 projection) UNIFORM_F(vec4 color) UNIFORM_END SAMPLER(0, sampler2D texture_0) FRAG_COLOR_OUT(frag_color) void main() { vec4 r = TEXTURE(texture_0, tex_coord_0 - vec2(PARAM(aberration_offset), 0)); vec4 g = TEXTURE(texture_0, tex_coord_0 - vec2(-PARAM(aberration_offset), 0)); vec4 b = TEXTURE(texture_0, tex_coord_0 - vec2(0, PARAM(aberration_offset))); FRAG_COLOR(frag_color) = vec4(r.x, g.y, b.z, (r.w + g.w + b.w) / 3.0) * PARAM(color); }