画图过程分为三个步骤
1.渲染函数,也就是点的位置颜色等等相关信息
2.初始化函数
3.主函数
代码如下
#include<GL/glut.h>
void myPoints() {
glClear(GL_COLOR_BUFFER_BIT);//清除颜色缓冲区
glPointSize(3);//一个点占据三个像素
glBegin(GL_POINTS);//开始画图
glColor3f(1.0, 0.0, 0.0);//(255,0,0)红色
glVertex2f(-3, 3);//点位置的声明
glColor3f(0.0, 1.0, 0.0);
glVertex2f(10, 20);
glColor3f(0.0, 0.0, 1.0);
glVertex2f(0, -15);
glEnd();
glFlush();//缓存,必不可少,使图像显示
}
void init() {
glClearColor(1.0, 1.0, 1.0, 0.0);//设置背景颜色
glMatrixMode(GL_PROJECTION);//正投影方式
glLoadIdentity();//glLoadIdentity是一个计算机函数名,功能是重置当前指定的矩阵为单位矩阵.在语义上,其等同于用单位矩阵调用glLoadMatrix。
gluOrtho2D(-100, 100, -100, 100);//设置坐标范围
}
int main(int argc, char* args[]) {
glutInit(&argc,__argv);//初始化glut库,必须是第一个glut函数
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//窗口使用RGB颜色和单缓存
glutInitWindowPosition(200, 300);//设置窗口位置
glutInitWindowSize(300, 300);//设置窗口大小
glutCreateWindow("Display Points");//窗口名字
init();//初始化
glutDisplayFunc(myPoints);//myPoint为自己写的渲染函数
glutMainLoop();
return 0;
}