attribute vec4 a_Position;
attribute vec2 a_TexCoord;
varying vec2 v_TexCoord;

void main(){
  gl_Position = a_Position;
  v_TexCoord = a_TexCoord;
}
precision mediump float;
uniform sampler2D u_Sampler0;
uniform sampler2D u_Sampler1;
uniform sampler2D u_Sampler2;
uniform sampler2D u_Sampler3;
varying vec2 v_TexCoord;

void main(){
  vec4 color0 = texture2D(u_Sampler0, v_TexCoord);
  vec4 color1 = texture2D(u_Sampler1, v_TexCoord);
  vec4 color2 = texture2D(u_Sampler2, v_TexCoord);
  vec4 color3 = texture2D(u_Sampler3, v_TexCoord);
  gl_FragColor = color0 * color1 * color2 * color3;
}