GLUT/freeglut 是什么? OpenGL 和它们有什么关系?
OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用。如果需要在程序里直接使用OpenGL,会有很多非常恶心的预备工作要做,而且可能还要专门为平台的差异写一些代码。要跳过这些工作,可以用一个utility库,直接使用它提供的函数,就不用操心那些细节了。这样的库新一点的有GLEW,因为开源所以安装相对方便(大不了丢进去一起编译),但各种教程和书里常见的是闭源的GLUT。由于GLUT的作者已经很久没更新过了(最后更新于2000年!= =),所以其他人另外做了一个接口兼容GLUT的freeglut,开源而且一直在维护中。
这篇文章介绍了怎样在 Linux(Ubuntu)和 Windows 下安装 GLUT/freeglut,以及如何编写能够跨平台编译的 Makefile 和代码。在 Windows 下可以安装 GLUT 或者 freeglut 其中的一个,不过建议安装后者。在 Ubuntu 下安装 freeglut即可。
Linux 下安装
Linux 下一般使用开源的 freeglut,安装相对于 windows 比较方便,比如 Ubuntu 下安装只要一行命令:
$ sudo apt-get install build-essential freeglut3 freeglut3-dev binutils-gold
Windows 下安装
在 Windows 下如果不使用 Visual Studio 系的环境,可以用 *nix 的命令行工具在 Windows 下的移植版,通常使用的是 mingw 系列套装。
建议直接使用 mingw 的包管理器下载安装需要的包,如果要像这篇文章一样能够用 g++ 和 Make 编译,最好安装 g++(gcc)、GNU Make 和 *nix 常用命令行工具的移植版,也就是在 mingw 的包管理器里选择安装 mingw-developer-toolkit
、mingw32-base
、mingw32-gcc-g++
和 msys-base
。
关于如何在 Windows 下安装 mingw 环境,这里不赘述,可以参考这个链接。安装完之后需要记得将 mingw/bin
和 mingw/msys/版本号/bin
加入 PATH
环境变量。设置完环境变量后打开 cmd(如果设置前已经打开了,需要关掉再开或者另开一个cmd),如果运行 make --version
,g++ --version
和 bash --version
可以看到相关的版本信息,就说明安装成功了,比如:
C:\Users\Administrator> make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. C:\Users\Administrator> g++ --version g++ (GCC) 4.8.1 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. C:\Users\Administrator>bash --version GNU bash, version 3.1.23(1)-release (i686-pc-msys) Copyright (C) 2005 Free Software Foundation, Inc.
1. 下载 GLUT/freeglut
如果安装 GLUT,地址在:https://user.xmission.com/~nate/glut.html,下载 glut-3.7.6-bin.zip(已经十几