OpenGL案例1---绘制三个点,线段,多边形,三角形,四边形等绘制

代码1:

#include <GL/glut.h>


void init()
{
	glClearColor(1.0, 1.0, 1.0, 0.0); //黑色背景颜色
	glMatrixMode(GL_PROJECTION);  //正投影
	glLoadIdentity();
	gluOrtho2D(-100, 100,-100,100);// 可以显示的范围
}

void myPoints()
{
	glClear(GL_COLOR_BUFFER_BIT);//背景填充颜色
	glPointSize(3);//设置像素大小
	glBegin(GL_POINTS); //绘制一个一个的点
	glColor3f(1.0, 0.0, 0.0);//红色
	glVertex2i(-3, 3); //控制点的坐标
	glColor3f(0.0, 1.1, 0.0);
	glVertex2i(10, 20);
	glColor3f(0.0, 0.0, 1.0);
	glVertex2i(0, -15);
	glEnd();
	glFlush();//缓存推送到屏幕
}

int main(int argc, char* argv[])
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(200, 300);
	glutInitWindowSize(300, 300);
	glutCreateWindow("Dispaly Points");

	init();
	glutDisplayFunc(myPoints);
	glutMainLoop();
	return 0;
}

结果:
在这里插入图片描述
代码2:

#include <GL/glut.h>

//显示线段
void init()
{
	glClearColor(1.0, 1.0, 1.0, 0.0); //黑色背景颜色
	glMatrixMode(GL_PROJECTION);  //正投影
	glLoadIdentity();
	gluOrtho2D(-10, 20,-10,30);// 可以显示的范围
}

void lines()
{
	int p1[] = { 6,4 };
	int p2[] = { 1,1 };
	int p3[] = { 3,7 };
	int p4[] = { 5,1 };
	int p5[] = { 0,4 };
	glClear(GL_COLOR_BUFFER_BIT);//背景填充颜色
	glColor3f(.03, 0.1, 0.8);//红色
	glPointSize(3);
	//glBegin(GL_POINTS);
	glBegin(GL_LINE_LOOP);
	glVertex2iv(p1); //控制点的坐标
	glVertex2iv(p2);
	glVertex2iv(p3);
	glVertex2iv(p4);
	glVertex2iv(p5);
	glEnd();
	glFlush();//缓存推送到屏幕
}

int main(int argc, char* argv[])
{
	glutInit(&argc, argv);//初始化opengl
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//
	glutInitWindowPosition(200, 300); //窗口位置
	glutInitWindowSize(300, 300); //窗口大小
	glutCreateWindow("Lines"); //窗口名称

	init();
	glutDisplayFunc(lines);
	glutMainLoop();
	return 0;
}

在这里插入图片描述
代码3:

#include <GL/glut.h>

//显示线段
void init()
{
	glClearColor(1.0, 1.0, 1.0, 0.0); //黑色背景颜色
	glMatrixMode(GL_PROJECTION);  //正投影
	glLoadIdentity();
	gluOrtho2D(-10, 20,-10,20);// 可以显示的范围
}

void polyonTriangle()
{
	int p1[] = { 1,3 };
	int p2[] = { 3,0 };
	int p3[] = { 6,0 };
	int p4[] = { 7,3 };
	int p5[] = { 6,6 };
	int p6[] = { 3,6 };
	int p7[] = { 4,8 };
	int p8[] = { 5,8 };
	glClear(GL_COLOR_BUFFER_BIT);//背景填充颜色
	glColor3f(0.6, 0.5, 0.2);//红色
	glPointSize(3);
	//glBegin(GL_POINTS);
	//glBegin(GL_POLYGON); //多边形
	//glBegin(GL_TRIANGLES); //三角形
	glBegin(GL_QUADS); //四边形
	glVertex2iv(p1); //控制点的坐标
	glVertex2iv(p2);
	glVertex2iv(p3);
	glVertex2iv(p4);
	glVertex2iv(p5);
	glVertex2iv(p6);
	glVertex2iv(p7);
	glVertex2iv(p8);
	glEnd();
	glFlush();//缓存推送到屏幕
}

int main(int argc, char* argv[])
{
	glutInit(&argc, argv);//初始化opengl
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//
	glutInitWindowPosition(300, 100); //窗口位置
	glutInitWindowSize(600, 500); //窗口大小
	glutCreateWindow("polyonTriangle"); //窗口名称

	init();
	glutDisplayFunc(polyonTriangle);
	glutMainLoop();
	return 0;
}

结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值