#version 100 | |
precision mediump float; | |
uniform sampler2D uSampler0_Stage0; | |
uniform vec2 uImageIncrement_Stage0; | |
uniform vec2 uBounds_Stage0; | |
uniform float uKernel_Stage0[25]; | |
varying vec4 vColor; | |
varying vec2 vMatrixCoord_Stage0; | |
void main() { | |
vec4 output_Stage0; | |
{ // Stage 0: Convolution | |
output_Stage0 = vec4(0, 0, 0, 0); | |
vec2 coord = vMatrixCoord_Stage0 - 12.0 * uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[0]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[1]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[2]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[3]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[4]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[5]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[6]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[7]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[8]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[9]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[10]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[11]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[12]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[13]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[14]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[15]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[16]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[17]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[18]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[19]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[20]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[21]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[22]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[23]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 += texture2D(uSampler0_Stage0, coord) * float(coord.x >= uBounds_Stage0.x && coord.x <= uBounds_Stage0.y) * uKernel_Stage0[24]; | |
coord += uImageIncrement_Stage0; | |
output_Stage0 *= vColor; | |
} | |
gl_FragColor = output_Stage0; | |
} |