# opengl学习之路(1)
程序员文章站
2022-07-04 18:49:56
...
opengl的编写主要依靠c++ 所以要精通c++
现在开始学习
glutInit(&argc,argc);//对 GLUT 进行初始化,这个函数必须在其它的 GLUT 使用之前调用一次。其格式比较死板,一般照抄这句
glutInit(&argc,argv)就可以了.
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);设置显示方式,其中GLUT_RGB表示使用RGB颜色,与之对应的还有GLUT_INDEX (表示使用索引颜色)。GLUT_SINGLE 表示使用单缓冲,与之对应的还有 GLUT_DOUBLE(使用双缓冲)。
glutInitWindowPosition(100, 100);设置窗口左上角的位置 数值是像素大小
glutInitWindowSize(400, 400);设置窗口的大小
glutCreateWindow("窗口名字")//根据前面设置的信息创建窗口。参数将被作为窗口的标题。窗口被创建后, 并不立即显示到屏幕上。需要调用 glutMainLoop 才能看到窗口。
glutDisplayFunc(&myDisplay)//设置一个函数,当需要进行画图时,这个函数就会被调用
一般就是创建一个 void myDisplay(){}函数 然后把自己想画的放里面就行
一整套为
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("第一个 OpenGL 程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
glClear 清除。GL_COLOR_BUFFER_BIT 表示清除颜色,glClear 函数还可以清除其它的东西
glClear(GL_COLOR_BUFFER_BIT);
glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。
glFlush,保证前面的 OpenGL 命令立即执行(而不是让它们在缓冲区中等待)。其作用跟 fflush(stdout) ?类似。