#include "stdafx.h"
#include "glut.h"
void Draw1Rect(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 清除屏幕的内容
glColor3f(0.5, 0.5, 0); // 设置颜色,参数为红绿蓝分量
glRectf(-0.5f, -0.5f, 0.5f, 0.5f); // 在屏幕正中间画一个正方形
// 保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)
// 把绘制的内容写到显卡上, 才能让用户看到绘制的内容。
glFlush();
}
int main(int argc, char** argv)
{
// 初始化库GLUT函数,这个函数必须在其它的GLUT使用之前调用一次。
glutInit(&argc, argv);
// 设置显示模式, GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX(表示使用索引颜色)
// GLUT_SINGLE:使用单缓冲,与之对应的有GLUT_DOUBLE(使用双缓冲)。
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
// 设窗体大小(宽度500,高度400)
glutInitWindowSize(500, 400);
// 创建窗口, 参数为窗体标题。被创建后,并不立即显示到屏幕上。需要调用glutMainLoop才能看到窗口。
glutCreateWindow("OpenGL实战之第一站: 画一个矩形(VS2015)");// 创建显示窗体
// 调用绘制函数
glutDisplayFunc(Draw1Rect);
// 进行一个消息循环, 没有之句话,程序直接退出了,看不完窗体了。
glutMainLoop();
return 0;
}
运行效果: