opengl学习笔记(二)——一个通用的opengl框架

#include<GL/glut.h>
void display(void)
{
	glClear(GL_COLOR_BUFFER_BIT); 
	glBegin(GL_POLYGON); 
		glVertex2f(-0.5, -0.5); 
		glVertex2f(-0.5, 0.5); 
		glVertex2f(0.5, 0.5); 
		glVertex2f(0.5, -0.5);
	glEnd();
	glFlush(); 
}
void init()
{ 
	glClearColor (0.0, 0.0, 0.0, 0.0); 
	glColor3f(1.0, 1.0, 1.0); 
	glMatrixMode (GL_PROJECTION);
	glLoadIdentity ();
	glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
}
int main(int argc, char** argv)
{ 
	glutInit(&argc,argv); 
	glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); 
	glutInitWindowSize(500,500);
	glutInitWindowPosition(0,0); 
	glutCreateWindow("simple"); 
	glutDisplayFunc(display);
	init();
	glutMainLoop(); 
	return 0;
}

这个代码的大致解释如下:

1、首先将必要的头文件glut.h包含进来,以便使用opengl提供的函数库
2、display是程序员自己写的回调函数,用于在窗口内进行画图。在主函数里用glutDisplayFunc把它注册之后,
每次窗口里的图像需要刷新时,就调用这个我们写的display函数。
3、glutInitWindowSize函数指定窗体的宽度和高度
4、glutInitWindowPosition指定窗口左上角的坐标
5、glutCreateWindow建立一个窗体
6、glutMainLoop进入窗体消息循环。
以后如无特别说明,后面的例子代码只改动display函数的内容即可。

你可能感兴趣的:(opengl学习笔记(二)——一个通用的opengl框架)