1.生成第一个OpenGL程序
#include <GL/glut.h>
void myDisplay(void)//GLUT头文件
{
glClear(GL_COLOR_BUFFER_BIT);//清除颜色
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);//画一个矩形 参数为两个点坐标
glFlush();//命令立即执行(不在缓冲区 等待) fflush(stdout)
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);//GLUT初始化 照抄即可
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);//初始化显示模式 RGB与单缓冲
glutInitWindowPosition(100, 100);//初始化窗口在屏幕中位置
glutInitWindowSize(400, 400);//初始化窗口大小
glutCreateWindow(" 第一个 OpenGL 程序 ");//创建窗口但不会立即显示
glutDisplayFunc(&myDisplay);//显示函数,参数为自定义显示程序。
glutMainLoop();//等待消息循环 可以使初始化的窗口显示出来
return 0;
}
2.画数学函数子函数
#include<math.h>
const GLfloat factor = 0.1f;//
void myDisplay(void)
{
GLfloat x;
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_LINES);
glVertex2f(-1.0f, 0.0f);
glVertex2f(1.0f, 0.0f);//x
glVertex2f(0.0f, -1.0f);
glVertex2f(0.0f, 1.0f);//y
glEnd();
glBegin(GL_LINE_STRIP);
for (x = -1.0f / factor; x < 1.0f / factor; x += 0.01f)//x方向为增长正方向
{
glVertex2f(x * factor, sin(x) * factor);
}
glEnd();
glFlush();
}