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开发依赖包,开发者使用它
添加仓库
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update
sudo apt upgrade
更新源信息
sudo apt update && sudo apt upgrade
安装build依赖(必选,编译器与基本的函数库)
sudo apt install cmake pkg-config
sudo apt install build-essential
安装OPENGL ES 两件套(必选)
sudo apt install libgles2-mesa
sudo apt install libgles2-mesa-dev
检测环境中是否有 EGL。对于 EGL 来说,检测的方式有很多种。其中最简单的一种方式是安装 mesa 的一个工具包:
sudo apt install mesa-utils-extra
用法
eglinfo
检测环境中是否有 EGL
检测环境中是否有 EGL。对于 EGL 来说,检测的方式有很多种。其中最简单的一种方式是安装 mesa 的一个工具包:
sudo apt install mesa-utils-extra
用法
eglinfo
OPENGL ES库和包含文件用法
(1)链接的库
应用程序需要的链接库包括 OpenGL ES 2.0 库 :libGLESv2.lib 和 EGL 库:libEGL.lib。
编译时加-lGLESv2 -lEGL选项:
gcc -o test test.c -lGLESv2 -lEGL
需要包含的头文件至少有:
#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.编译链接函数库
gcc -o test test.c -lGLESv2 -lEGL
如何卸载OPENGL ES和EGL
更新源信息
sudo apt update && sudo apt upgrade
build依赖(cmake
pkg-config
build-essential
)是常用包,不建议卸载
卸载OPENGL ES 两件套
sudo apt remove libgles2-mesa
sudo apt remove libgles2-mesa-dev
卸载检测环境中是否有 EGL的工具包
sudo apt remove mesa-utils-extra