在这里插入代码
#include "stdafx.h"
#include <glut.h>
void DisplayTemp(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 0.0f);//设置背景颜色为白色
glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲区,并设置为上面glClearColor函数设置的背景颜色
glEnable(GL_POINT_SMOOTH);//启动点抗锯齿
glEnable(GL_BLEND);//启用混合
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glHint(GL_POINT_SMOOTH_HINT, GL_NICEST);
//绘制点
glPointSize(5.0f);//点的大小
glBegin(GL_POINTS);
glColor3f(1.0, 0.0, 0.0);//颜色设成红色
glVertex2f(0.0, 0.0);
glVertex2f(0.5, 0.0);
glVertex2f(0.5, 0.5);
glVertex2f(0.0, 0.5);
glEnd();
//绘制线段(连续两个为一组,组与组之间不连线)
glBegin(GL_LINES);
glColor3f(0.0, 1.0, 0.0);//颜色设成绿色
glVertex2f(-0.5, 0.0);
glVertex2f(-0.5, -0.5);
glVertex2f(0.0, 0.0);
glVertex2f(0.0, -0.5);
glEnd();
//绘制线段(相邻两点之间连线)
glBegin(GL_LINE_STRIP);
glColor3f(0.0, 0.0, 1.0);//颜色设成蓝色
glVertex2f(0.2, 0.0);
glVertex2f(0.2, -0.2);
glVertex2f(0.1, -0.2);
glVertex2f(0.1, -0.1);
glEnd();
//绘制闭合线段
glBegin(GL_LINE_LOOP);
glColor3f(0.0, 1.0, 1.0);//颜色设成黄色
glVertex2f(0.6, 0.0);
glVertex2f(0.6, -0.6);
glVertex2f(0.3, -0.6);
glVertex2f(0.3, -0.3);
glEnd();
//绘制三角形
glBegin(GL_TRIANGLES);
glColor3f(1.0, 1.0, 0.0);//颜色设成青色
glVertex2f(-0.6, 0.0);
glVertex2f(-0.6, 0.6);
glVertex2f(-0.3, 0.6);
glEnd();
//绘制多边形
glBegin(GL_POLYGON);
glColor3f(1.0, 0.0, 1.0);//颜色设成紫色
glVertex2f(0.9, 0.0);
glVertex2f(0.9, -0.9);
glVertex2f(0.7, -0.9);
glVertex2f(0.6, -0.8);
glVertex2f(0.6, -0.5);
glEnd();
glFlush();
return;
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("二维图形");
glutDisplayFunc(&DisplayTemp);
glutMainLoop();
return 0;
}
运行效果: