blurpph.shader

00001 
00002 void main() 
00003 {
00004     //Use the first set of texture coordinates in the fragment shader 
00005     gl_TexCoord[0] = gl_MultiTexCoord0;
00006 
00007     // Transform the position to screen space
00008     gl_Position = ftransform(); 
00009 }
00010 
00011 ~~~~~
00012 
00013 uniform sampler2D Texture0;
00014 
00015 uniform float blur; // sweetspot: 0.004
00016 
00017 void main(void)
00018 {
00019     vec4 outp = vec4(0.0, 0.0, 0.0, 0.0);
00020 
00021     outp += 0.015625 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*-6.0,0.0) );
00022     outp += 0.0596875 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*-5.0,0.0) );
00023     outp += 0.09375 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*-4.0,0.0) );
00024     outp += 0.1640625 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*-3.0,0.0) );
00025     outp += 0.234375 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*-2.0,0.0) );
00026     outp += 0.2734375 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*-1.0,0.0) );
00027     outp += 0.3125 * texture2D(Texture0, gl_TexCoord[0].xy );
00028     outp += 0.2734375 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*1.0,0.0) );
00029     outp += 0.234375 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*2.0,0.0) );
00030     outp += 0.1640625 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*3.0,0.0) );
00031     outp += 0.09375 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*4.0,0.0) );
00032     outp += 0.0596875 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*5.0,0.0) );
00033     outp += 0.015625 * texture2D(Texture0, gl_TexCoord[0].xy + vec2(blur*6.0,0.0) );
00034 
00035     gl_FragColor = outp;
00036  } 

Generated on Fri Mar 23 12:55:03 2007 for glsldemo by  doxygen 1.5.1-p1