计算机图形学opengl版 多种直线绘制函数讲解(五角星绘制)

glBegin(GL_LINES);

glBegin(GL_LINE_STRIP);

glBegin(GL_LINE_LOOP);

1.glBegin(GL_LINES);

void lines() {
	int p1[] = { 60,40 };
	int p2[] = { 10,10 };
	int p3[] = { 30,70 };
	int p4[] = { 50,10 };
	int p5[] = { 0,40 };
	glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲区
	glColor3f(0.3, 0.1, 0.8);
	glPointSize(3);//一个点占据三个像素
	glBegin(GL_LINES);//开始画图
	glVertex2iv(p1);//向量画点
	glVertex2iv(p2);
	glVertex2iv(p3);
	glVertex2iv(p4);
	glVertex2iv(p5);
	glEnd();//结束画图
	glFlush();//缓存,必不可少,使图像显示
}

 说明:GL_LINES只会选取两点画一条直线

2.glBegin(GL_LINE_STRIP);

void lines() {
	int p1[] = { 60,40 };
	int p2[] = { 10,10 };
	int p3[] = { 30,70 };
	int p4[] = { 50,10 };
	int p5[] = { 0,40 };
	glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲区
	glColor3f(0.3, 0.1, 0.8);
	glPointSize(3);//一个点占据三个像素
	glBegin(GL_LINE_STRIP);//开始画图
	glVertex2iv(p1);//向量画点
	glVertex2iv(p2);
	glVertex2iv(p3);
	glVertex2iv(p4);
	glVertex2iv(p5);
	glEnd();//结束画图
	glFlush();//缓存,必不可少,使图像显示
}

说明:这个函数,如果当前点有下一个点,则会选取当前点和下一个点画一条直线

3.glBegin(GL_LINE_LOOP);

void lines() {
	int p1[] = { 60,40 };
	int p2[] = { 10,10 };
	int p3[] = { 30,70 };
	int p4[] = { 50,10 };
	int p5[] = { 0,40 };
	glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲区
	glColor3f(0.3, 0.1, 0.8);
	glPointSize(3);//一个点占据三个像素
	glBegin(GL_LINE_LOOP);//开始画图
	glVertex2iv(p1);//向量画点
	glVertex2iv(p2);
	glVertex2iv(p3);
	glVertex2iv(p4);
	glVertex2iv(p5);
	glEnd();//结束画图
	glFlush();//缓存,必不可少,使图像显示
}

 

 说明:此函数会将当前点与下一点进行直线绘制,最后一点的下一点默认为第一个点

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值