Ubuntu系统下OpenGL和freeglut的安装与测试

在图形应用程序开发中,OpenGL是一个广泛使用的跨平台图形API,而freeglut则是OpenGL Utility Toolkit(GLUT)的后继者,它提供了一种通用的方法来创建和处理不同平台上的窗口和其他功能。本文将介绍如何在Ubuntu系统上安装这两个库,并使用它们编写一个简单的C++程序来测试安装是否成功。

安装前的准备

在安装OpenGL和freeglut之前,需要确保系统满足以下条件:

  • 一个正常工作的Ubuntu系统(本文以Ubuntu 10.10为例)
  • 如果使用图形卡,需要安装相应的驱动程序
  • 需要安装C/C++编译所需的包,推荐安装build-essential包,它包含了所有必需的工具

安装OpenGL和freeglut库

为了确保选择的是库的最新版本,需要访问并选择debian包选项(在'Developers corner'菜单项下)。在包页面中,滚动到'Search the contents of packages'部分。需要搜索的是头文件gl.h和glut.h,以获取包含它们的OpenGL和freeglut包。同时,系统会提供最新版本的包。搜索gl.h,如下所示(将显示选项设置为'packages that contain files named like this'):

一旦搜索结果显示,需要选择指定为/usr/include/GL的包。例如,在下面的图像中,需要安装的包将是'mesa-common-dev'包:

对于文件glut.h,需要执行相同的过程。搜索glut.h头文件,并选择指定为/usr/include/GL的包(如果搜索正确,包将是"freeglut3-dev")。一般来说,如果需要安装一个包,但不确定是哪个,或者是否是最新版本,如果知道包中的一个文件名,可以按照上述方式进行搜索。

一旦知道了OpenGL(mesa-common-dev)和freeglut(freeglut3-dev)的包名,安装它们就只需要打开终端窗口并输入以下apt-get命令: sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev 如果系统中已经安装了这些包或两者,内核会在输入上述命令时给出相应的消息,通知这些包已经安装,并且是最新版本。

如果安装顺利,应该能够在/usr/include/GL目录位置看到以下内容:

测试

为了测试OpenGL和freeglut库是否正常工作,将编写一个使用库API的简单程序。C++程序将使用OpenGL红宝书中的代码(如果计划使用OpenGL开发,这绝对是必读的),在标题为"A very simple OpenGL program"的部分找到。以下代码列表显示了程序:

#include <GL/freeglut.h> #include <GL/gl.h> void renderFunction() { glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); glBegin(GL_POLYGON); glVertex2f(-0.5, -0.5); glVertex2f(-0.5, 0.5); glVertex2f(0.5, 0.5); glVertex2f(0.5, -0.5); glEnd(); glFlush(); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE); glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow("OpenGL - First window demo"); glutDisplayFunc(renderFunction); glutMainLoop(); return 0; }

将上述代码输入文本编辑器并保存为CPP文件,例如firstWindow.cpp,然后在终端窗口中导航到firstWindow.cpp的位置。在这里,将编译程序以获得可执行文件,通过键入: g++ firstWindow.cpp -lglut -lglut是为了将文件链接到freeglut库。如果一切顺利,将得到传统的a.out文件。通过在命令行键入./a.out运行可执行文件,应该可以显示上述代码列表的结果:

至此,已经成功地编译并运行了一个OpenGL程序。从这一点开始,只需要使用不同的OpenGL函数并自定义程序编写方式。如果成功地跨越了尝试编译和运行OpenGL程序的第一个障碍,剩下的就是学习如何在OpenGL中编程并发挥创造力。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485