首页 / 操作系统 / Linux / 用Ubuntu开发OpenGL程序
开发环境: Ubuntu 9.10 Desktop x86,NetBeans6.8,OpenGL2.1 安装开发需要的库 OpenGL网站上有这么一句话(http://www.opengl.org/wiki/Getting_started#Linux): Linux comes with Mesa libraries, which implements the OpenGL API as a software rasterizer. 在Mesa网站上,目前最新的版本是7.7,支持OpenGL2.1,但是受限制于具体驱动程序,并不能保证完全支持所有的API. 可以下载源代码编译安装,不过先从简单的开始,在UBuntu上面安装已经编译好的Mesa库和开发文件。 首先确保编译器等库已经被安装: sudo apt-get install build-essential 执行下面的命令,将Mesa7.6.0安装到系统中。 sudo apt-get install libgl1-mesa-dev 下面安装两个增强库: sudo apt-get install libglu1-mesa-dev 这个库是对OpenGL的增强 sudo apt-get install libglut-dev 这个库是对OpenGL窗口的增强和上面那个增强库的增强 现在编写代码:#include <GL/glut.h> void init(); void display(); int main(int argc, char* argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(0, 0); glutInitWindowSize(300, 300); glutCreateWindow("OpenGL 3D View"); init(); glutDisplayFunc(display); glutMainLoop(); return 0; } void init() { glClearColor(0.0, 0.0, 0.0, 0.0); glMatrixMode(GL_PROJECTION); glOrtho(-5, 5, -5, 5, 5, 15); glMatrixMode(GL_MODELVIEW); gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0); } void display() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0, 0); glutWireTeapot(3); glFlush(); } 在NetBeans工程中设置link所需要的库,可以参考下图: 继续选中libGLU.so和libglut.so文件。 然后编译链接通过, /usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf make[1]: 正在进入目录 `/home/chenshu/svnclient/MyCodes/OpenGL1" /usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/opengl1 make[2]: 正在进入目录 `/home/chenshu/svnclient/MyCodes/OpenGL1" mkdir -p build/Debug/GNU-Linux-x86 rm -f build/Debug/GNU-Linux-x86/main.o.d g++ -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o main.cpp mkdir -p dist/Debug/GNU-Linux-x86 g++ -o dist/Debug/GNU-Linux-x86/opengl1 build/Debug/GNU-Linux-x86/main.o -lGL -lGLU -lglut make[2]:正在离开目录 `/home/chenshu/svnclient/MyCodes/OpenGL1" make[1]:正在离开目录 `/home/chenshu/svnclient/MyCodes/OpenGL1" BUILD SUCCESSFUL (total time: 804ms) 运行程序: 就到这里。下一页会继续探索这些API的功能。
收藏该网址