第一个代码:绘制一个凸多边形,更改背景和多边形的颜色
#include <GL/glut.h>
#include<iostream>
using namespace std;
void mydisplay(){
glClearColor(0.73f , 0.87f, 0.839f, 0.0f);
//设置清除颜色
glClear(GL_COLOR_BUFFER_BIT);
//清除缓冲:把整个窗口清除为上面设置好的颜色(如果没设置就是黑色)
glBegin(GL_POLYGON);
//和End结合使用,参数表示要绘制凸多边形
glColor3ub(138,198,209);
//放在顶点前面才生效,f为后缀时以1.0作为最大值
//ub为后缀,255表示最大值
glVertex2f(-0.5, -0.5);
//指定顶点,2表示2维,f表示32位浮点数,(0,0)在屏幕中心(-1,-1)在窗口左下角
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
//强制刷新,指令先放在缓冲区,等缓冲区满了再发到驱动程序里执行
//这里强制把指令送到驱动程序里执行
}
int main(int argc, char** argv){
glutCreateWindow("simple");
//创建窗口并设置标题
glutDisplayFunc(mydisplay);
//添加显示窗口的回调函数
//glClearColor(1.0f , 0.0f, 1.0f, 0.0f);
//初始化渲染颜色
glutMainLoop();
//循环回调,退出该窗口前都会不断回调该函数
}
结果: