在Ubuntu上安装并使用OpenGL库。

1.简介

  OpenGL主要包括三个函数库,它们是核心库(gl)、实用函数库(glu)和编程辅助库(aux)。

目前AUX编程辅助库已经很大程度上被GLUT库取代了。

2.安装

按照:官网
说明的步骤安装:

1
2
3
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
sudo apt-get install libglfw3-dev libglfw3

这样安装完即可使用。但是,这里我安装了一些其他的库:

OpenGL核心库,GL

1
sudo apt-get install libgl1-mesa-dev

OpenGL实用函数库,GLU

1
sudo apt-get install libglu1-mesa-dev

OpenGL实用工具包,GLUT

1
2
3
sudo apt-get install freeglut3-dev
# 上面的命令若不行,就用如下命令:
sudo apt-get install libglut-dev

查看OpenGL的安装情况

1
2
sudo apt install mesa-utils
glxinfo | grep OpenGL

3.简单的CPP测试程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// test.cpp
#include<GL/glut.h>
#include<stdlib.h>
// 初始化材料属性、光源属性、光照模型,打开深度缓冲区
void init(){
GLfloat mat_specular [] = { 1.0, 1.0, 1.0, 1.0 };
GLfloat mat_shininess [] = { 50.0 };
GLfloat light_position [] = { 1.0, 1.0, 1.0, 0.0 };
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_SMOOTH);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
}
// 调用GLUT函数,绘制一个球
void display(){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidSphere(1.0, 40, 50);
glFlush();
}

int main(int argc, char** argv){
// GLUT环境初始化
glutInit(&argc, argv);
// 显示模式初始化
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
// 定义窗口大小
glutInitWindowSize(300, 300);
// 定义窗口位置
glutInitWindowPosition(100, 100);
// 显示窗口,窗口标题为执行函数名 */
glutCreateWindow(argv[0]);
// 调用OpenGL初始化函数
init();
// 注册OpenGL绘图函数
glutDisplayFunc(display);
// 进入GLUT消息循环,开始执行程序
glutMainLoop();
return 0;
}

4.测试执行

  • 编译并链接,生成可执行文件:

  • g++ -o test test.cpp -lGL -lGLU -lglut

  • 执行可执行文件:

  • ./test

说明:

  后面的-l命令之前很少用,因为没有用过动态库。-l+动态库名,表示链接时链接该库,相当于windows下的添加dll库文件。

  • -lGL:就是链接到gl库
  • -lGLU:就是链接到glu库
  • -lglut:就是链接到glut库

编译并链接,生成可执行文件,就可以执行了。

注意:这里的GL和GLU必须大写,glut必须小写。

执行结果如图:

Ubuntu_004_01

5.在Sublime中配置OpenGL

在Sublime中依次选择:ToolsBuild SystemNew Build System,之后输入下列配置并保存即可:

我这里是保存的文件名为OpenGL.sublime-build

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" \"-lGL\" \"-lGLU\" \"-lglut\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"shell_cmd": "./\"${file_base_name}\""
}
]
}
  • 之后,依次选择:ToolsBuild With...OpenGL 即可编译并链接生成可执行文件。
  • 依次选择:ToolsBuild With...OpenGL - Run即可运行。

Ubuntu_004_02


评论