OPenGL学习(一)OPenGL基本用法

OPenGL学习(一)OPenGL基本用法

OPenGL基本语法

OPenGL包括4个库,基本库gl.h(核心库),实用函数库GLU.h,实用工具库glut.h,辅助库glaux.h。
基本库里包含的是基本的函数,基本库中的函数引用时要以gl为前缀,且每一组成词的第一个字母要大写,如:glBegin,glClear,glPolygonMode;
有些函数需要使用一个或多个变量用符号常量赋值,如参数名、参数的值或特定的模式。这些常量以大写的GL开头,常量名中各组成词均采用大写,单词间用‘_’隔开,如:GL_2D、GL_RGB、GL_AMBIENT_AND_DIFFUSE;
OPGL函数有自己要求的专门的数据类型,如:GLbyte(1位整数)、GLshort(短整型)、GLint(整型)、GLfloat(单精度实数)、GLdouble(双精度实数)、GLboolean(布尔型)。
实用函数库(OPenGL Utility,GLU)提供了一些历程,可以设置观察和投影矩阵,利用线条和多边形近似法来描述复杂对象,使用线性近似法显示二次曲线和样条曲线,处理表面绘制操作,完成一些复杂操作。所有GLU函数均以glu开头。
OPenGL的X窗口系统扩充,GLX,该库中的函数以glx开头,用来在视频屏幕上设置显示窗口。
WGL提供窗口系统到OPenGL的接口,函数以wgl开头,在Microsoft的Windows系统中,存取WGL函数的头文件是windows.h。
实用工具库 GLUT提供了与任意屏幕窗口系统进行交互的函数库,以glut为前缀。

/*GLUT的基本功能:

包括窗口初始化功能、事件处理、窗口和菜单管理、回调函数注册和几何建模功能。

窗口初始化功能,它有4个函数。主要用于处理初始化并以及命令行参数,初始化显示模式,指定窗口左上角在屏幕上的位置和窗口大小,以像素为单位。

事件处理只有一个函数,它用于显示创建的窗口、处理输入的事件、触发回调函数、进入循环直到程序退出。

窗口管理包含18个函数,用于建立、销毁窗口及可能的子窗口,管理和设置窗口的属性。

在GLUT中有20个回调函数,用于响应用户事件。最重要的回调函数是glutDisplayFunc,当GLUT认为需要重新显示窗口内容时,
都将执行这一函数注册的回调函数。另外一些重要的回调函数注册函数有:函数glutRe-shapeFunc用于注册窗口大小改变这一事件发生时GLUT将调用的函数。
glutKeyboardFunc和glutMouseFunc用于注册键盘和鼠标事件发生时的回调函数。函数glutMotionFunc注册鼠标移动事件的回调函数。
这3个函数用于人机交互处理。在没有其他事件处理时,GLUT将调用函数glutldleFunc注册的函数,而函数glutTimerFunc则注册处理定时器事件的函数。

OpenGL绘图函数只能生成点、直线、多边形等简单的几何图元,GLUT提供了18个创建三维物体的函数。
利用它们可以创建9种三维物体,如圆锥体、立方体、球体等,每一物体有线框和实体2种方式。

我们看到的以glut 开头的函数都是 glut 库的一部分,如处理参数的,和设置窗口的,我们在这里主要讨论glut 支持的各种消息处理*/

你可能感兴趣的:(OPenGL学习)