说明:本教程是在《OpenGL ES 3.0编程指南(原书第2版)》基础上完成。
准备工作
下载源码(点击下面链接)
原书附带代码下载:https://github.com/danginsburg/opengles3-book
下载Emulator(点击下面链接)
官方下载地址 (根据本地主机的系统位数自行选择,这里演示选择版本为:Linux64 Installer: PowerVR Tools and SDK)
https://www.imgtec.com/developers/powervr-sdk-tools/installers/
安装Emulator和需要的软件包
首先修改下载的Emuator安装文件属性修改为一般其他用户组可执行:
sudo chmod a+x PowerVRSDKSetup-2019_R1.1.run-x64
然后直接本地执行安装程序
sudo ./PowerVRSDKSetup-2019_R1.1.run-x64
出现下面页面后,直接选择“next”,安装路径默认就行(先记下安装路径,方便我们后面对一下依赖库的配置) ,然后等待它自动安装完成就可以。

在Enulator安装的过程中,我们顺便安装OpenGL ES 3.0 需要的相应软件包:
sudo apt-get install build-essential cmake cmake-curses-gui
搭建环境
Emulator和软件包安装好后:我们在之前在下的源码根目录下(CMakeList.txt同级目录)创建一个新的构建目录:
opengles3-book-master$ mkdir build opengles3-book-master$ cd build build$ cmake ../
正常情况下在键入:“cmake ../”后会出现一下提示:

可以看出是因为:EGL_LIBRARY 和OPENGLES3_LIBRARY没有配置好,
下面我们就要对上述依赖的库进行配置:
在安装Emulator时我们说过“安装路径默认就行(先记下安装路径,方便我们后面对一下依赖库的配置)”现在我们就来到Emunlator的安装路径。查找我们需要配置的依赖库的位置:

我们看到libXXX有很多路径下都有,那到底我们该使用哪一个呢?我也不知道,所以错了好几回。没错,我也是试出来的,最后发现不带Recorder的路径才是正确的,根据本地主机系统选择是个本地主机的依赖库;这里选择/opt/Imagination/PowerVR_Graphics/PowerVR_Tools/PVRVFrame/Library/Linux_x86_64/
然后回到之前源码根目录下创建的build,键入如下命令(注意是ccmake,不是cmak)

然后会出现配置页面:

我们之前报出的信息显示是EGL_LIBRARY 和OPENGLES3_LIBRARY没有配置好,我们将/opt/Imagination/PowerVR_Graphics/PowerVR_Tools/PVRVFrame/Library/Linux_x86_64/libEGL.so和/opt/Imagination/PowerVR_Graphics/PowerVR_Tools/PVRVFrame/Library/Linux_x86_64/libGLESv2.so依次填写到EGL_LIBRARY和OPENGLES3_LIBRARY后面。
操作:键入“c”进行配置,配置完成后键入“g”生成并退出ccmake.
完成上述操作后,我们键入如下命令:

“make”命令将会linCommon.a和所有的样板代码。现在可以直接运行编译好的原书提供的sample了:

eeee.还是有问题。。就和书上说一样。。。(手打滑稽脸),那就将LD_LIBRARY_PATH 设置为之前配置EGL_LIBRARY时的路径:
export LD_LIBRARY_PATH=/opt/Imagination/PowerVR_Graphics/PowerVR_Tools/PVRVFrame/Library/Linux_x86_64/
然后我们再试一下:“./Hello_Triangle ”

好了,显示出了样片。Ubuntu平台下的OpenGL ES 3.0运行环境搭建成功。
版权声明:本文为CSDN博主「小文21」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38140931/article/details/99429102