ubuntu配置opengl-es

上一级页面:index-wsl

前言

OpenGL-ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

OpenGL-ES 是免授权费的,跨平台的,功能完善的2D和3D图形应用程序接口API,主要针对多种嵌入式系统专门设计 - 包括控制台、移动电话、手持设备、家电设备和汽车。

安装

EGL官方文档:EGL Reference Pages (khronos.org)

为发展编程上下文环境,提供了平台独立的 API 叫作 EGL,用来管理绘制窗口,EGL 提供下面的机制:

  • 窗口系统之间通讯
  • 查询可用的类型,配置绘图窗口
  • 创建绘图窗口
  • 同步 OpenGL ES 2.0 渲染和其它绘图 API 的渲染(例如 OpenVG,或者你系统的其它绘图命令)
  • 管理渲染资源像贴图纹理

libgles2-mesa是OPENGL ES依赖包,许多应用程序需要它

libgles2-mesa-dev是OPENGL ES开发依赖包,开发者使用它

添加仓库

1
2
3
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update
sudo apt upgrade

更新源信息

1
sudo apt update && sudo apt upgrade

安装build依赖(必选,编译器与基本的函数库)

1
2
sudo apt install cmake pkg-config
sudo apt install build-essential

安装OPENGL ES 两件套(必选)

1
2
sudo apt install libgles2-mesa
sudo apt install libgles2-mesa-dev

检测环境中是否有 EGL。对于 EGL 来说,检测的方式有很多种。其中最简单的一种方式是安装 mesa 的一个工具包:

1
sudo apt install mesa-utils-extra

用法

1
eglinfo 

检测环境中是否有 EGL

检测环境中是否有 EGL。对于 EGL 来说,检测的方式有很多种。其中最简单的一种方式是安装 mesa 的一个工具包:

1
sudo apt install mesa-utils-extra

用法

1
eglinfo 

OPENGL ES库和包含文件用法

(1)链接的库

应用程序需要的链接库包括 OpenGL ES 2.0 库 :libGLESv2.lib 和 EGL 库:libEGL.lib。

编译时加-lGLESv2 -lEGL选项:

1
gcc -o test test.c -lGLESv2 -lEGL

需要包含的头文件至少有:

1
2
3
#include <EGL/egl.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>

Egl.h 是 EGL 头文件,gl2.h 是 OpenGL ES 2.0 头文件,gl2ext.h 是 OpenGLES 批准的扩展。

头文件和库文件命名与平台有关,OpenGL ES 2.0 工作组试图定义库文件和头文件名,但它们可能没包括所有的平台,所以开发者可以参照供应商的文档说明,确定库文件和头文件的命名和组织。

3.编译链接函数库

1
gcc -o test test.c -lGLESv2 -lEGL

如何卸载OPENGL ES和EGL

更新源信息

1
sudo apt update && sudo apt upgrade

build依赖(cmake pkg-config build-essential)是常用包,不建议卸载

卸载OPENGL ES 两件套

1
2
sudo apt remove libgles2-mesa
sudo apt remove libgles2-mesa-dev

卸载检测环境中是否有 EGL的工具包

1
sudo apt remove mesa-utils-extra

然后见liunx如何卸载安装的软件

参考、引用、致谢