# OpenGL Help with drawLine Function

Hello Everyone,

I am writing a program in which I must implement the mid-point line algorithm to draw a line.  I have the algorithm working but I am unable to figure out why the line is not displaying to the screen.  BTW I can only use glVertex to plot each pixel. Below is the drawLine function.
``````void drawLine(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
{
GLfloat pk;
GLfloat pk1;
GLfloat color = 1.23234;
Point2D vertex;
Point2D slope;
slope.x = x2 - x1;
slope.y = y2 - y1;

pk = ((2*slope.y) - slope.x);

vertex.x = x1;
vertex.y = y1;

glColor3f(5.0f, 3.0f, 2.0f);

for(; vertex.x <= x2; vertex.x++)
{
if(pk < 0 )
{
//vertex.x++;
glBegin(GL_POINTS);
glVertex2f(vertex.x, vertex.y);
glEnd();
vertex.round();
//mySetPixel(vertex.x, vertex.y, &color);
pk1 = pk + 2 * (slope.y);
pk = pk1;
}
else
{
//vertex.x++;
vertex.y++;
glBegin(GL_POINTS);
glVertex2f(vertex.x, vertex.y);
glEnd();
pk1 = pk + 2 * (slope.y) - 2 * (slope.x);
pk = pk1;
}
}
``````
###### Who is Participating?

Commented:
Why don't you use the line functions?
glBegin(GL_LINES);
glVertex3f(vertex1.x, vertex1.y,vertex1.z);
glVertex3f(vertex2.x, vertex2.y,vertex2.z);
glEnd();
The certex declaration will be for 3 dimentions where z = 0.
Change the width of the line with: glLineWidth() and don't forget for antialiasing the GL_LINE_SMOOTH parameter.

George Tokas.

0

Commented:
What is the GL_POINT_SIZE query result? what about setting the glpointsize() value?
Are the gl context correctly setup? try to draw a simple triangle, does it display correctly? if not, maybe your problem is not how the line is drawn, but how your GL environment is setup.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.