标题：freeGLUT
freeglut
是一个完全开源的替代OpenGL实用工具包（GLUT）库。GLUT最初是由Mark Kilgard支持的示例程序在第二版OpenGL的'红皮书'。从那时起，GLUT已在很宽的各种实际应用中使用，因为它很简单的，广泛使用的和高度可移植的。
GLUT（因此freeglut）允许用户创建和管理广泛的平台上的OpenGL上下文的窗口，也看到鼠标，键盘和操纵杆功能。
freeglut 由X-联盟许可下发布的。
创建原因
原来的GLUT库的最新版本（3.7）的历史可追溯至1998年8月，似乎已经放弃了。它的许可证不允许任何人都可以发布修改后的库代码。
这将是确定，GLUT已经老了，真的需要改善。此外，GLUT的许可证是不兼容的一些软件分发（如XFree86的）。
创作者
freeglut最初由帕维尔·W. Olszta与安德烈亚斯乌姆巴赫和史蒂夫·贝克的贡献。史蒂夫是现在官方的拥有者/维护者。
创建时间
帕维尔开始freeglut的发展在1999年12月1日。该项目是目前几乎100%的替代原来的GLUT，只有少数离开（如the abandonment of SGI-specific features，如the Dials&Buttons box和Dynamic Video Resolution）和 a shrinking set of bugs。
有一些额外的功能，如应用程序中使用更大的一组预定义的形状。
测试发布
有没有目前的测试版本。
稳定的版本
Freeglut 2.8.0 发布：2012年1月2日 Freeglut 2.6.0 发布：2009年11月27日 Freeglut 2.4.0 发布：2005年6月9日 Freeglut 2.2.0 发布：2003年12月12日 Freeglut 2.0.1 发布：2003年10月23日 
freeglut函数
初始化函数
glutInit
glutInitWindowPosition，glutInitWindowSize
glutInitDisplayMode
glutInitDisplayString
事件处理函数
glutMainLoop
glutMainLoopEvent 
glutLeaveMainLoop  //这是freeglut里的循环函数，可代替glutMainLoop函数，可解决内存泄露问题
窗口功能
glutCreateWindow
glutCreateSubwindow
glutDestroyWindow
glutSetWindow，glutGetWindow
glutSetWindowTitle，glutSetIconTitlew
glutReshapeWindow
glutPositionWindow
glutShowWindow，glutHideWindow，glutIconifyWindow
glutPushWindow，glutPopWindow
glutFullScreen的，glutLeaveFullScreen的，glutFullScreenToggle
显示功能
glutPostRedisplay
glutPostWindowRedisplay
glutSwapBuffers
鼠标光标功能
glutSetCursor
glutWarpPointer
叠加功能
glutEstablishOverlay
glutRemoveOverlay
glutUseLayer
glutPostOverlayRedisplay
glutPostWindowOverlayRedisplay
glutShowOverlay，glutHideOverlay
菜单功能
glutCreateMenu
glutDestroyMenu
glutGetMenu，glutSetMenu
glutAddMenuEntry
glutAddSubMenu
glutChangeToMenuEntry
glutChangeToSubMenu
glutRemoveMenuItem
glutAttachMenu，glutDetachMenu
全局回调注册功能
glutTimerFunc
glutIdleFunc
窗口的特定回调注册功能
glutDisplayFunc
glutOverlayDisplayFunc
glutReshapeFunc
glutKeyboardFunc
glutSpecialFunc
glutKeyboardUpFunc
glutSpecialUpFunc
glutMotionFunc，glutPassiveMotionFunc
glutVisibilityFunc
glutEntryFunc
glutJoystickFunc
glutSpaceballMotionFunc
glutSpaceballRotateFunc
glutSpaceballButtonFunc
glutButtonBoxFunc
glutDialsFunc
glutTabletMotionFunc
glutTabletButtonFunc
glutMenuStatusFunc
glutWindowStatusFunc
状态设置和检索功能
glutSetOption
glutGet
glutDeviceGet
glutGetModifiers
glutLayerGet
glutExtensionSupported
glutGetProcAddress
字体渲染功能
glutBitmapCharacter
glutBitmapString
glutBitmapWidth
glutBitmapLength
glutBitmapHeight
glutStrokeCharacter
glutStrokeString
glutStrokeWidth
glutStrokeLength
glutStrokeHeight
几何对象的渲染功能
glutWireSphere，glutSolidSphere
glutWireTorus，glutSolidTorus
glutWireCone，glutSolidCone
glutWireCube，glutSolidCube
glutWireTetrahedron，glutSolidTetrahedron
glutWireOctahedron，glutSolidOctahedron
glutWireDodecahedron，glutSolidDodecahedron
glutWireIcosahedron，glutSolidIcosahedron
glutWireRhombicDodecahedron，glutSolidRhombicDodecahedron
glutWireTeapot，glutSolidTeapot
游戏模式功能
glutGameModeString
glutEnterGameMode，glutLeaveGameMode
glutGameModeGet
视频调整大小功能
glutVideoResizeGet
glutSetupVideoResizing，glutStopVideoResizing
glutVideoResize
glutVideoPan
彩色地图功能
glutSetColor，glutGetColor
glutCopyColormap
多点触控功能
glutMultiEntryFunc←id, GLUT_ENTERED|GLUT_LEFT
glutMultiButtonFunc←id, x, y, button, GLUT_DOWN|GLUT_UP
glutMultiMotionFunc←id, x, y
glutMultiPassiveFunc←id, x, y
Android的功能
glutInitContextFunc←void
glutPauseFunc←void
glutResumeFunc←void
杂项功能
glutIgnoreKeyRepeat，glutSetKeyRepeat
glutForceJoystickFunc
glutReportErrors
如果想要了解各个函数的用法，可以访问扩展阅读的网站
freeglut的安装
将下载后的freeglut解压后(不知道下载地址的可以查看扩展阅读里的地址），打开里面的vs文件夹，
最新版的可以用vs2010编译，打开freeglut.sln,选release，运行后，将freeglut.dll,freeglut.lib,include/GL文件夹里的头文件拷出来，dll放到system32里面，其他拷到vs的对应文件夹里(可以建一个GL文件夹).完成freeglut的配置