1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#extension GL_ARB_texture_rectangle : enable
uniform sampler2DRect MyTex;
uniform float dZ, ShadeL, ShadeR, sizeX, sizeY;
void main (void)
{
vec2 pos_out;
pos_out.x=-1.+(2.*gl_TexCoord[0].s)/sizeX;
pos_out.y=-1.+(2.*gl_TexCoord[0].t)/sizeY;
pos_out.y *= sqrt(pos_out.x*pos_out.x+dZ*dZ)/dZ;
pos_out.x = sizeX*(pos_out.x+1.)/2.;
pos_out.y = sizeY*(pos_out.y+1.)/2.;
vec4 color = texture2DRect(MyTex, pos_out);
color.a = 1.;
float tmp = mix(0.,1.,gl_TexCoord[0].s/ShadeL);
tmp = min(tmp,1.);
color.a *= tmp;
tmp = mix(0.,1.,(sizeX-gl_TexCoord[0].s)/ShadeR);
tmp = min(tmp,1.);
color.a *= tmp;
gl_FragColor = color;
}
|