绘制一个矩形
glutInit(&argc, argv);
初始化GLUT
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
GLUT创建时使用何种类型的显示类型
GLUT_SINGLE单缓冲窗口 GLUT_DOUBLE双缓冲窗口(绘图缓冲区和显式缓冲区)
GLUT_RGB颜色显示模式
glutCreateWindow("class1 GLwindows");
创建一个OpenGL窗口,唯一参数是标题栏的标题
glutDisplayFunc(RenderScene);
自定义函数RenderScene为显示回调函数,也是放置OpenGL渲染函数调用的地方。
RenderScene中:
glClear(GL_COLOR_BUFFER_BIT);
清除缓冲区,用清除色清除
glColor3f(1.0f, 0.0f, 0.0f);
设置颜色为红,之后的矩形就是红色的
glRectf(-25.0f, 25.0f, 25.0f, -25.0f);
绘制矩形
glFlush();
所有未执行的OpenGL命令被执行
glutReshapeFunc(ChangeSIze);
窗口大小改变时,重新设置坐标系统,由回调函数ChangeSize完成
ChangeSize中:
glViewport(0, 0, w, h);
0,0指定了视口的左下角,w,h指定了视口的面积
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
告诉OpenGL所来所有的转换将影响模型
glOrtho(-100.0*aspectRatio, 100.0*aspectRatio, -100.0,100.0, 1.0, -1.0);
创建投影模式
SetupRC中:
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
设置清楚色为蓝色
所得结果为: