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;
		}
	}

Open in new window

brich744Asked:
Who is Participating?
 
George TokasCommented:
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
 
HappyCactusCommented:
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.

All Courses

From novice to tech pro — start learning today.