OpenGL学习笔记2013.4.10第一个OpenGL窗口

来源:互联网 发布:ui设计师的前景 知乎 编辑:程序博客网 时间:2024/05/17 22:29

第一个OpenGL窗口


事件驱动的程序框架

// 包含OpenGL头文件

...所有回调函数在此定义

void main() {

          ...基本初始化工作...

          // -------------------------------------------------------------------------------

          glutDisplayFunc(myDisplay); // 注册重绘函数

          // 当打开窗口或覆盖它的窗口被移走而露出该窗口时重绘窗口

          glutReshapeFunc(myReshape); // 注册改变窗口形状函数

          // 窗口的宽度或高度改变时触发该事件

          glutMouseFunc(myMouse); // 注册鼠标动作函数

          //  处理鼠标键的按下和谈起,从函数参数可知鼠标的位置和按钮状态(哪一个键)

          glutMotionFunc(myMotionFunc); // 注册鼠标移动函数

          // 处理当鼠标有一个或多个键被按下时的鼠标移动事件

          glutKeyboardFunc(myKeyboard); // 注册键盘动作函数

    // 处理由键盘键被按下或释放所产生的的事件,知道是哪个键,以及鼠标的位置

          // -------------------------------------------------------------------------------

          ...可能的其他初始化工作...

          // -------------------------------------------------------------------------------

          glutMainLoop(); // 进入主循环等待事件发生。当一个事件发生,系统自动调用相应的回调函数进行处理

}

那么前面的初始化工作又包括哪些呢?

glutInit(&argc, argv); // 初始化

glutInitDisplayMode(GLUT_RGBA | GLUT_SINGLE); // 设置现实模式

glutInitWindowPosition(100, 150); //  设置窗口位置

glutInitWindowSize(640, 480); // 设置窗口大小


glutCreateWindow("The first OpenGL Window!");// 创建窗口


可能的其他初始化工作可以是自己编写的某初始化函数。

其中可能包括坐标变换等


原创粉丝点击