p.s. My code looks like this :
Vertex Program :
varying vec4 color;
varying vec4 posix;
uniform vec2 viewport;
void main(void)
{
posix = ftransform();
gl_Position = posix + vec4(0.0, 0.0, 0.0, 0.001);
vec4 v4 = gl_ModelViewMatrix * gl_Vertex ;
gl_ClipVertex = v4;
color = gl_Color;
}
Fragment Program:
varying vec4 color;
varying vec4 posix;
uniform vec2 viewport;
void main( void )
{
vec2 tmp_scr1=vec2(viewport.x/2.0,viewport.y/2.0);
vec2 tmp_scr2=vec2(viewport.x/2.0+0.5,viewport.y/2.0+0.5);
vec2 fake_FragCoord = (posix.xy/posix.w)*tmp_scr1+tmp_scr2;
vec4 lineColor = color;
vec2 ScreenSizeHalf = vec2(viewport.x/2.0,viewport.y/2.0);
vec2 posix1= ((posix.xy/posix.w)+1.0)*ScreenSizeHalf;
vec2 fpos = fake_FragCoord.xy;
float dist = distance(fpos,posix1);
lineColor.a = 1.0-dist;
gl_FragColor = lineColor;
}