您的位置:首页 > 运维架构

OpenGL学习1—画一个矩形

2016-07-19 15:58 337 查看
//在一个黑色的窗口中央画一个白色的矩形

#include<GL/glut.h>  //包含头文件glut中已经自动包含gl和gul了

//画图函数

void myDisplay(void)

{

    //gl开头的函数就是OpenGL的标准函数

    //清除,CL_COLOR_BUFFER_BIT表示清除颜色,glClear还可以清除其他东西

    glClear(GL_COLOR_BUFFER_BIT);

    //画一个矩形,四个参数分别表示了位于对角线上的两个点的横、纵坐标

    glRectf(-0.8f,-0.8f,0.8f,0.8f);

    //保证前面的OpenGL命令立即执行(而不是让他们在缓冲去等待),

    //其作用跟fflush(stdout)类似

    glFlush();

}

int main(int argc,char *argv[])

{

    glutInit(&argc,argv); //对glut初始化,必须在其他的glut使用之前调用一次

    glutInitDisplayMode(GLUT_RGB|GLUT_SINGLE);

    //设置显示模式,其中glut_rgb表示使用rgb颜色,与之对应的还有glut_index表示使用索引颜色

    //glut_single表示使用单缓冲,与之对应的还有glut_double使用双缓冲

    //设置窗口在屏幕中的位置

    glutInitWindowPosition(100,100);

    //设置窗口的大小

    glutInitWindowSize(400,400);

    //根据前面设置的信息创建窗口,参数将被作为窗口的标题。注意,窗口被创建后

    //并不立即显示到屏幕上,需要调用glutMainLoop才能看到窗口

    glutCreateWindow("第一个OpenGL程序");

    //设置一个函数,当需要画图时,这个函数就会被调用(不太准确的说法)

    glutDisplayFunc(&myDisplay);

    //这是一个消息循环,可以显示窗口,并且等待窗口关闭后会返回

    glutMainLoop();

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: