//ScaleCopy.fs 用于下采样图象到1/4大小
#version 110
#extension GL_ARB_draw_buffers : enable
uniform sampler2D texSrc;
uniform int imgW,imgH;
void main()
{
float dx = 1.0/float(imgW);
float dy = 1.0/float(imgH);
vec4 color =
texture2D(texSrc,gl_TexCoord[0].xy);
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx,0.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*2.0,0.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*3.0,0.0));
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(0.0,dy));
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx,dy));
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*2.0,dy));
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*3.0,dy));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(0.0,dy*2.0));
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx,dy*2.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*2.0,dy*2.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*3.0,dy*2.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(0.0,dy*3.0));
color += texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx,dy*3.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*2.0,dy*3.0));
color +=
texture2D(texSrc,gl_TexCoord[0].xy+vec2(dx*3.0,dy*3.0));
color /= 16.0;
gl_FragData[0] = color;
}