Opengl freeglut库详解

**Initialization Functions(初始化函数)**:
- `glutInit`:初始化 FreeGLUT 库。
- `glutInitWindowPosition`:设置初始窗口的位置。
- `glutInitWindowSize`:设置初始窗口的大小。
- `glutInitDisplayMode`:指定窗口的显示模式,如单缓冲或双缓冲、颜色模式等。
- `glutInitDisplayString`:以字符串形式指定显示模式和其他选项。
- `glutInitErrorFunc`:设置错误处理函数。
- `glutInitWarningFunc`:设置警告处理函数。

**Event Processing Functions(事件处理函数)**:
- `glutMainLoop`:进入主循环,开始处理事件。
- `glutMainLoopEvent`:处理一个事件,然后返回。
- `glutLeaveMainLoop`:退出主循环。

**Window Functions(窗口函数)**:
- `glutCreateWindow`:创建一个窗口。
- `glutCreateSubwindow`:在一个已存在的窗口中创建子窗口。
- `glutDestroyWindow`:销毁一个窗口。
- `glutSetWindow`:设置当前活动窗口。
- `glutGetWindow`:获取当前活动窗口的标识符。
- `glutSetWindowTitle`:设置窗口的标题。
- `glutSetIconTitle`:设置窗口图标上显示的标题。
- `glutReshapeWindow`:改变窗口的大小。
- `glutPositionWindow`:移动窗口到指定位置。
- `glutShowWindow`:显示窗口。
- `glutHideWindow`:隐藏窗口。
- `glutIconifyWindow`:最小化窗口。
- `glutPushWindow`:将窗口推到栈顶。
- `glutPopWindow`:将窗口从栈顶弹出。
- `glutFullScreen`:将窗口设置为全屏模式。
- `glutLeaveFullScreen`:退出全屏模式。
- `glutFullScreenToggle`:切换全屏模式和窗口模式。

**Display Functions(显示函数)**:
- `glutPostRedisplay`:标记当前窗口需要重新绘制。
- `glutPostWindowRedisplay`:标记指定窗口需要重新绘制。
- `glutSwapBuffers`:交换前后缓冲区,显示新的画面。

**Mouse Cursor Functions(鼠标光标函数)**:
- `glutSetCursor`:设置鼠标光标的形状。
- `glutWarpPointer`:将鼠标指针移动到指定位置。

**Overlay Functions(覆盖层函数)**:
- `glutEstablishOverlay`:建立一个覆盖层。
- `glutRemoveOverlay`:移除一个覆盖层。
- `glutUseLayer`:选择一个特定的显示层。
- `glutPostOverlayRedisplay`:标记覆盖层需要重新绘制。
- `glutPostWindowOverlayRedisplay`:标记指定窗口的覆盖层需要重新绘制。
- `glutShowOverlay`:显示覆盖层。
- `glutHideOverlay`:隐藏覆盖层。

**Menu Functions(菜单函数)**:
- `glutCreateMenu`:创建一个菜单。
- `glutDestroyMenu`:销毁一个菜单。
- `glutGetMenu`:获取当前活动菜单的标识符。
- `glutSetMenu`:设置当前活动菜单。
- `glutAddMenuEntry`:向菜单中添加一个菜单项。
- `glutAddSubMenu`:向菜单中添加一个子菜单。
- `glutChangeToMenuEntry`:将一个菜单项转换为另一个菜单项。
- `glutChangeToSubMenu`:将一个菜单项转换为一个子菜单。
- `glutSetMenuFont`:设置菜单的字体。
- `glutRemoveMenuItem`:从菜单中移除一个菜单项。
- `glutAttachMenu`:将菜单附加到一个特定的鼠标按钮或键盘按键。
- `glutDetachMenu`:从鼠标按钮或键盘按键上分离菜单。
- `glutMenuDestroyFunc`:设置菜单销毁时的回调函数。

**Global Callback Registration Functions(全局回调注册函数)**:
- `glutTimerFunc`:注册一个定时器回调函数,在指定时间间隔后调用。
- `glutIdleFunc`:注册一个空闲回调函数,在系统空闲时调用。
- `glutMenuStatusFunc`:注册一个菜单状态回调函数,当菜单状态改变时调用。
- `glutMenuStateFunc`:注册一个菜单状态回调函数,当菜单状态改变时调用(可能与`glutMenuStatusFunc`类似)。

**Window-Specific Callback Registration Functions(窗口特定回调注册函数)**:
- `glutDisplayFunc`:注册一个显示回调函数,当窗口需要重新绘制时调用。
- `glutOverlayDisplayFunc`:注册一个覆盖层显示回调函数。
- `glutReshapeFunc`:注册一个窗口大小改变回调函数。
- `glutPositionFunc`:注册一个窗口位置改变回调函数。
- `glutCloseFunc`:注册一个窗口关闭回调函数。
- `glutKeyboardFunc`:注册一个键盘按键按下回调函数。
- `glutSpecialFunc`:注册一个特殊键按下回调函数。
- `glutKeyboardUpFunc`:注册一个键盘按键释放回调函数。
- `glutSpecialUpFunc`:注册一个特殊键释放回调函数。
- `glutMotionFunc`:注册一个鼠标移动(按下状态)回调函数。
- `glutPassiveMotionFunc`:注册一个鼠标移动(未按下状态)回调函数。
- `glutMouseFunc`:注册一个鼠标按键按下回调函数。
- `glutMouseWheelFunc`:注册一个鼠标滚轮滚动回调函数。
- `glutEntryFunc`:注册一个窗口进入/退出回调函数。
- `glutJoystickFunc`:注册一个游戏手柄回调函数。
- `glutSpaceballMotionFunc`:注册一个空间球移动回调函数。
- `glutSpaceballRotateFunc`:注册一个空间球旋转回调函数。
- `glutSpaceballButtonFunc`:注册一个空间球按钮按下回调函数。
- `glutButtonBoxFunc`:注册一个按钮盒回调函数。
- `glutDialsFunc`:注册一个刻度盘回调函数。
- `glutTabletMotionFunc`:注册一个图形输入板移动回调函数。
- `glutTabletButtonFunc`:注册一个图形输入板按钮按下回调函数。
- `glutVisibilityFunc`:注册一个窗口可见性改变回调函数。
- `glutWindowStatusFunc`:注册一个窗口状态改变回调函数。

**State Setting and Retrieval Functions(状态设置和检索函数)**:
- `glutSetOption`:设置一个选项。
- `glutGet`:获取一个状态或选项的值。
- `glutDeviceGet`:获取设备信息。
- `glutGetModifiers`:获取当前按下的修饰键状态。
- `glutLayerGet`:获取当前显示层的信息。
- `glutExtensionSupported`:检查是否支持一个特定的 OpenGL 扩展。
- `glutGetProcAddress`:获取一个 OpenGL 函数的指针。

**Font Rendering Functions(字体渲染函数)**:
- `glutBitmapCharacter`:绘制一个位图字体字符。
- `glutBitmapString`:绘制一个字符串的位图字体。
- `glutBitmapWidth`:获取一个位图字体字符的宽度。
- `glutBitmapLength`:获取一个字符串的位图字体长度。
- `glutBitmapHeight`:获取一个位图字体字符的高度。
- `glutStrokeCharacter`:绘制一个轮廓字体字符。
- `glutStrokeString`:绘制一个字符串的轮廓字体。
- `glutStrokeWidth`:获取一个轮廓字体字符的宽度。
- `glutStrokeWidthf`:获取一个轮廓字体字符的宽度(浮点数版本)。
- `glutStrokeLength`:获取一个字符串的轮廓字体长度。
- `glutStrokeLengthf`:获取一个字符串的轮廓字体长度(浮点数版本)。
- `glutStrokeHeight`:获取一个轮廓字体字符的高度。

**Geometric Object Rendering Functions(几何对象渲染函数)**:
- `glutWireSphere`:绘制一个线框球体。
- `glutSolidSphere`:绘制一个实体球体。
- `glutWireTorus`:绘制一个线框圆环。
- `glutSolidTorus`:绘制一个实体圆环。
- `glutWireCone`:绘制一个线框圆锥。
- `glutSolidCone`:绘制一个实体圆锥。
- `glutWireCube`:绘制一个线框立方体。
- `glutSolidCube`:绘制一个实体立方体。
- `glutWireTetrahedron`:绘制一个线框四面体。
- `glutSolidTetrahedron`:绘制一个实体四面体。
- `glutWireOctahedron`:绘制一个线框八面体。
- `glutSolidOctahedron`:绘制一个实体八面体。
- `glutWireDodecahedron`:绘制一个线框十二面体。
- `glutSolidDodecahedron`:绘制一个实体十二面体。
- `glutWireIcosahedron`:绘制一个线框二十面体。
- `glutSolidIcosahedron`:绘制一个实体二十面体。
- `glutWireRhombicDodecahedron`:绘制一个线框菱形十二面体。
- `glutSolidRhombicDodecahedron`:绘制一个实体菱形十二面体。
- `glutWireTeapot`:绘制一个线框茶壶。
- `glutSolidTeapot`:绘制一个实体茶壶。
- `glutWireTeacup`:绘制一个线框茶杯。
- `glutSolidTeacup`:绘制一个实体茶杯。
- `glutWireTeaspoon`:绘制一个线框茶匙。
- `glutSolidTeaspoon`:绘制一个实体茶匙。
- `glutSetVertexAttribCoord3`:设置顶点属性的三维坐标。
- `glutSetVertexAttribNormal`:设置顶点属性的法向量。
- `glutSetVertexAttribTexCoord2`:设置顶点属性的二维纹理坐标。

**Game Mode Functions(游戏模式函数)**:
- `glutGameModeString`:指定游戏模式的参数字符串。
- `glutEnterGameMode`:进入游戏模式。
- `glutLeaveGameMode`:退出游戏模式。
- `glutGameModeGet`:获取游戏模式的状态。

**Video Resize Functions(视频大小调整函数)**:
- `glutVideoResizeGet`:获取视频大小调整的状态。
- `glutSetupVideoResizing`:设置视频大小调整。
- `glutStopVideoResizing`:停止视频大小调整。
- `glutVideoResize`:处理视频大小调整事件。
- `glutVideoPan`:处理视频平移事件。

**Color Map Functions(颜色映射函数)**:
- `glutSetColor`:设置颜色映射中的颜色。
- `glutGetColor`:获取颜色映射中的颜色。
- `glutCopyColormap`:复制颜色映射。

**MultiTouch Functions(多点触摸函数)**:
- `glutMultiEntryFunc`:多点触摸进入事件回调函数。
- `glutMultiButtonFunc`:多点触摸按钮事件回调函数。
- `glutMultiMotionFunc`:多点触摸移动事件回调函数。
- `glutMultiPassiveFunc`:多点触摸被动移动事件回调函数。

**Mobile functions(移动设备函数)**:
- `glutInitContextFunc`:初始化移动设备的上下文函数。
- `glutAppStatusFunc`:应用程序状态回调函数。

**Miscellaneous Functions(杂项函数)**:
- `glutSetKeyRepeat`:设置键盘重复。
- `glutIgnoreKeyRepeat`:忽略键盘重复。
- `glutForceJoystickFunc`:强制调用游戏手柄回调函数。
- `glutReportErrors`:报告错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值