I'm having problems with the GL_LINES block... the lines in the sample below do not connect on the ends (although sometimes it randomly decides to connect a corner or two). Instead, the endpoints come within 1 pixel of one another (leaving a corner that is not fully squared; if that makes sense). It is a simple block to draw a solid 1-pixel rectangle.
glBegin(GL_LINES);
glColor3b(cr, cg, cb);
glVertex3i(pRect->left, pRect->top, 0);
glVertex3i(pRect->right, pRect->top, 0);
glVertex3i(pRect->right, pRect->top, 0);
glVertex3i(pRect->right, pRect->bottom, 0);
glVertex3i(pRect->right, pRect->bottom, 0);
glVertex3i(pRect->left, pRect->bottom, 0);
glVertex3i(pRect->left, pRect->bottom, 0);
glVertex3i(pRect->left, pRect->top, 0);
glEnd();
The sample below seems to correct the problem, giving me sharp, square corners; but I can't accept it because I don't know why it's acting this way...
glBegin(GL_LINES);
glColor3b(cr, cg, cb);
glVertex3i(pRect->left, pRect->top, 0);
glVertex3i(pRect->right + 1, pRect->top, 0);
glVertex3i(pRect->right, pRect->top, 0);
glVertex3i(pRect->right, pRect->bottom + 1, 0);
glVertex3i(pRect->right, pRect->bottom, 0);
glVertex3i(pRect->left - 1, pRect->bottom, 0);
glVertex3i(pRect->left, pRect->bottom, 0);
glVertex3i(pRect->left, pRect->top - 1, 0);
glEnd();
Any OpenGL programmers out there that can help, I would appreciate it :)
The picture is a zoomed-in view of a screenshot. As you can see, the top left corner is not connected. The top right corner is. Not see are the bottom left and right, which are not connected.
The viewport is setup to a 1 to 1 pixel per coordinate.
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0, __nRendererWidth, __nRendererHeight, 0, -1, 100);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glEnable (GL_TEXTURE_2D);