OpenGL 是一套由SGI公司发展出来的画图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。
安装OpenGL Library
安装OpenGL Utilities
OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组。提供很多非常方便的函式,使 OpenGL 更强大且更easy使用。
OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也添加了 OpenGL 对于视窗介面支援。
将上述$ sudo apt-get install libglut-dev命令改成$ sudo apt-get install freeglut3-dev就可以。
编译程式时,运行下面指令:
运行:
OpenGL 让程式开发者不须要考虑到各种显示卡底层运作是否同样的问题,硬体由 OpenGL 核心去沟通,因此仅仅要显示卡支援 OpenGL,那么程式就不须要又一次再移植,而程式开发者也不须要又一次学习一组函式库来移植程式。
安装
首先不可或缺的就是编译器与主要的函式库,假设系统没有安装的话,按照以下的方式安装:
- $ sudo apt-get install build-essential
安装OpenGL Library
- $ sudo apt-get install libgl1-mesa-dev
安装OpenGL Utilities
- $ sudo apt-get install libglu1-mesa-dev
安装OpenGL Utility Toolkit
- $ sudo apt-get install libglut-dev
注意:在这一步的时候,可能会出现下面情况,shell提示:
- Reading package lists... Done
- Building dependency tree
- Reading state information... Done
- E: Unable to locate package libglut-dev
測试
演示样例test.c源代码:
- #include <GL/glut.h>
- void init(void)
- {
- 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);
- return;
- }
- void display(void)
- {
- glClear(GL_COLOR_BUFFER_BIT);
- glColor3f(1.0, 0, 0);
- glutWireTeapot(3);
- glFlush();
- return;
- }
- 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;
- }
- $ gcc -o test test.c -lGL -lGLU -lglut
- $ ./test