OpenGL基础知识梳理——Windows上搭建opengles运行环境

1.概念介绍

1)OpenGLES

官方介绍:https://www.khronos.org/opengles/

OpenGLES(OpenGL for embeded systems)是用于嵌入式设备的免费、跨平台的2D/3D渲染API。它是OpenGL的一个子集,现在主要有两个版本,OpenGLES1.x提供固定管道渲染,OpenGLES2.x及以上提供可编程管道渲染。目前的手机大多支持OpenGLES2.0及其以上版本。

2)EGL

官方介绍:https://www.khronos.org/egl

EGL是Khronos提供的渲染API(譬如OpenGLES/OpenVG)和平台的原生窗口系统之间的接口。它负责处理绘图上下文的管理,surface/buffer的绑定,同步渲染等。

个人理解EGL的功能和freeglut有些类似,区别在于后者把和平台相关的窗口创建和OpenGL运行环境都做了,前者只负责提供接口给用户搭建嵌入式平台上的GLES运行环境。

按我的理解,一般情况下Windows系统下是无法运行OpenGLES的,因为Windows默认只支持OpenGL;而为了便于开发,一些GPU厂商提供了Windows下OpenGLES的运行模拟器(实际上就是OpenGLES运行时需要的API在WIndows下的实现),通过配置模拟器可以搭建Windows下的OpenGLES的运行环境。

2.环境搭建

在Windows平台下搭建OpenGLES用于VS项目开发流程如下。

首先下载模拟器,mali模拟器下载地址:https://developer.arm.com/tools-and-software/graphics-and-gaming/opengl-es-emulator/downloads;我下载的32bit,得到一个压缩包,解压后文件夹中有一个mali_cube.exe,点击如果运行成功会出现一个渲染界面,表明下载的库可以工作。

OpenGL基础知识梳理——Windows上搭建opengles运行环境_第1张图片

将上述解压后的文件放置在电脑某路径处,之后配置环境变量引入库所在路径,譬如我配置为

下载OpenGLES3.0红宝书示例代码,https://codeload.github.com/danginsburg/opengles3-book/zip/master,使用CMake编译生成VS工程,编译时会发生找不到OPENGLES3_LIBRARY和EGL_LIBRARY,因为之前这两个库未使用CMake编译生成,系统找不到其文件路径,手动指定一下即可通过编译,在我的电脑上就是指定到E:\SDK\Mali_OpenGL_ES_Emulator-v3.0.2.g694a9-Windows-32bit目录下的libGLESv2.lib和libEGL.lib。

生成sln文件,使用VS打开编译,运行“Hello_Triangle”,出现如下界面,表明运行成功。

OpenGL基础知识梳理——Windows上搭建opengles运行环境_第2张图片

注意这里并未使用freeglut和glew,因为1)我们是在Windows下运行模拟的OpenGLES API实现,freeglut不支持这类环境的搭建;2)glew是为OpenGL设计的,而OpenGLES是它的子集,具有相对独立的API接口规范。

下一篇文章开始结合示例代码分析使用EGL配置OpenGLES运行环境的流程。

你可能感兴趣的:(opengl学习)