**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`:报告错误。