#version 100 | |
precision mediump float; | |
precision mediump sampler2D; | |
uniform mediump vec2 uImageIncrement_Stage1; | |
uniform mediump vec2 uBounds_Stage1; | |
uniform mediump vec4 uKernel_Stage1[7]; | |
uniform sampler2D uTextureSampler_0_Stage1; | |
varying highp vec2 vTransformedCoords_0_Stage0; | |
void main() { | |
mediump vec4 output_Stage1; | |
{ | |
output_Stage1 = vec4(0.0, 0.0, 0.0, 0.0); | |
highp vec2 coord = vTransformedCoords_0_Stage0 - 12.0 * uImageIncrement_Stage1; | |
highp vec2 coordSampled = vec2(0.0, 0.0); | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[0].x; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[0].y; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[0].z; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[0].w; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[1].x; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[1].y; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[1].z; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[1].w; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[2].x; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[2].y; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[2].z; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[2].w; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[3].x; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[3].y; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[3].z; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[3].w; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[4].x; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[4].y; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[4].z; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[4].w; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[5].x; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[5].y; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[5].z; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[5].w; | |
} | |
coord += uImageIncrement_Stage1; | |
coordSampled = coord; | |
if (coord.y >= uBounds_Stage1.x && coord.y <= uBounds_Stage1.y) { | |
output_Stage1 += texture2D(uTextureSampler_0_Stage1, coordSampled) * uKernel_Stage1[6].x; | |
} | |
coord += uImageIncrement_Stage1; | |
} | |
{ | |
gl_FragColor = output_Stage1; | |
} | |
} |