安装与卸载opengl-dev
上一级页面:index-la
前言
这些只有开发者使用(明显可见dev
后缀),如果你的工作不包含opengl开发的部分,则都可以跳过这步
安装依赖和开发者包
安装build依赖(必须,编译器与基本的函数库)
sudo apt install cmake pkg-config
sudo apt install build-essential
安装三件套(必须,主体库)(GL GLU GLUT)
sudo apt install libgl1-mesa-dev
sudo apt install libglu1-mesa-dev
sudo apt install freeglut3-dev
# 常用套件
sudo apt install mesa-common-dev
若freeglut3-dev
安装不上,就换成如下依赖
sudo apt install libglut-dev
安装查看OpenGL的安装情况的工具包
sudo apt install mesa-utils
用法
glxinfo | grep OpenGL
这样安装完即可使用。
安装项目常见依赖(可选)
这里我安装了一些其他的项目常见依赖:
安装项目常见依赖1(可选,建议标为auto)
sudo apt install libglew-dev
sudo apt install libglfw3-dev libglfw3
sudo apt install libglm-dev
sudo apt-mark auto libglew-dev libglfw3-dev libglfw3 libglm-dev
安装项目常见依赖2(可选,建议标为auto)
sudo apt install libao-dev libmpg123-dev
sudo apt-mark auto libao-dev libmpg123-dev
安装项目常见依赖3(可选,建议标为auto)
sudo apt install libsdl2-dev libsdl2-image-dev
sudo apt install libfreetype6-dev
sudo apt-mark auto libsdl2-dev libsdl2-image-dev libfreetype6-dev
OpenGL核心库,GL
OpenGL Library(libgl1-mesa-dev
)
OpenGL实用函数库,GLU
OpenGL Utilities(libglu1-mesa-dev
)
OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函数,使 OpenGL 更强大且更容易使用。
OpenGL实用工具包,GLUT
安装OpenGL Utility Toolkit(freeglut3-dev
或libglut-dev
选一即可)
OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。
简单的CPP测试程序
// 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;
}
测试执行
编译并链接,生成可执行文件:
g++ -o test test.cpp -lGL -lGLU -lglut
执行可执行文件:
./test
如何卸载OPENGL开发者包
更新源信息
sudo apt update && sudo apt upgrade
build依赖(cmake
pkg-config
build-essential
)是常用包,不建议卸载
卸载三件套(主体库)
sudo apt remove libgl1-mesa-dev
sudo apt remove libglu1-mesa-dev
sudo apt remove freeglut3-dev
# 常用套件
sudo apt remove mesa-common-dev
卸载freeglut3-dev
的替代包
sudo apt remove libglut-dev
本文安装的项目常见依赖因为都标为auto,不用手动卸载
想要安装opengl es和egl?
OpenGL-ES 是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API,主要针对多种嵌入式系统专门设计 - 包括控制台、移动电话、手持设备、家电设备和汽车。
按照实际开发需求来安装配置,这些只有开发者使用(明显可见dev
后缀),如果你的工作不包含opengl es开发的部分,则都可以跳过这步