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();

}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值