[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

OpenGL Help with drawLine Function

Posted on 2011-09-28
2
Medium Priority
?
607 Views
Last Modified: 2013-12-06
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

0
Comment
Question by:brich744
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 16

Accepted Solution

by:
George Tokas earned 1000 total points
ID: 36813269
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
 
LVL 12

Assisted Solution

by:HappyCactus
HappyCactus earned 1000 total points
ID: 36813743
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

Featured Post

Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
Many modern programming languages support the concept of a property -- a class member that combines characteristics of both a data member and a method.  These are sometimes called "smart fields" because you can add logic that is applied automaticall…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question