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

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

2013-04-10 16:50 351 查看
第一个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!");// 创建窗口

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

其中可能包括坐标变换等
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenGL