OpenGl中点Bresenham算法画直线

void Mid_B(int x0,int y0,int x1,int y1)
{
	int dx,dy,d,UpIncre,DownIncre,x,y;
	if(x0 > x1)
	{
		x = x1;
		x1 = x0;
		x0 = x;
		y = y1;
		y1 = y0;
		y0 = y;
	}
	x = x0;
	y = y0;
	dx = x1 - x0;
	dy = y1 - y0;
	d = dx - 2*dy;
	UpIncre = 2*dx - 2*dy;
	DownIncre =- 2*dy;

	glPointSize(2);
	glBegin(GL_POINTS);
	while(x <= x1)
	{
		glColor3f(1.0f, 0.0f, 0.0f);
		glVertex2f(x,y);
		x++;
		if(d < 0)
		{
			y++;
			d += UpIncre;
		}
		else
			d += DownIncre;
	}
	glEnd();

}

你可能感兴趣的:(OpenGL)