Driver bug?

if I call:

glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_POINT_SMOOTH);
glPointSize(10.0f);
glBegin(GL_LINES);
glVertex2i(0,0);
glVertex2i(640,480);
glEnd();
glBegin(GL_POINTS);
glVertex2i(320,240);
glEnd();
glBegin(GL_LINES);
glVertex2i(0,480);
glVertex2i(640,0);
glEnd();

Only the line from (0,0) to (640,480) and the center point gets drawn, the last line call doesnt. It works if I dont call GL_POINT_SMOOTH.

Sounds like a Voodoo3 driver bug to me.

try replacing 640 by 639.

(I guess your voodoo driver might have an “optimization” so that lines having both extremities outside the screen aren’t drawn… the first line is drawn because it has an extremity inside the screen : (0,0) )

Another solution : split your line in 2 :
1 line from 640,0 to 320,240
1 line from 320,240 to 0,480

Of course, I can’t be sure it will work, I haven’t ever played with 3dfx hardware.

And the fact that it works fine without GL_POINT_SMOOTH lets to my theory very few chances to be true …