版本记录
版本号 | 时间 |
---|---|
V1.0 | 2017.09.28 |
前言
OpenGL ES是一个强大的图形库,是跨平台的图形API,属于OpenGL的一个简化版本。iOS系统可以利用OpenGL ES将图像数据直接送入到GPU进行渲染,这样避免了从CPU进行计算再送到显卡渲染带来的性能的高消耗,能带来来更好的视频效果和用户体验。接下来几篇就介绍下iOS 系统的 OpenGL ES框架。
框架基本结构
下面首先看一下该框架的基本信息。
使用OpenGL的紧凑,高效的子集创建3D和2D图形效果。
OpenGL ES
为硬件加速的2D和3D图形渲染提供了一个基于C的接口。 iOS中的OpenGL ES
框架(OpenGLES.framework)
提供OpenGL ES规范版本1.1,2.0和3.0的实现。
该文档集合描述了iOS设备上的OpenGL ES平台特定的API,也称为EAGL
。 EAGL提供封装所有OpenGL ES状态的图形上下文,以及将Core Animation
层配置为OpenGL ES绘图命令的目标位置的能力。 EAGL还允许OpenGL ES对象(如纹理,渲染缓冲区和帧缓冲区)在两个或多个图形上下文之间共享。
Khronos集团维护OpenGL ES规范和跨平台OpenGL ES API的参考资料:
- OpenGL ES API Registry是Khronos集团提供的OpenGL ES规范和扩展文档的官方存储库。
- 有关
OpenGL ES API
和OpenGL ES着色语言
的完整参考,请参阅计划使用的OpenGL ES版本集合:
下面我们就看一下OpenGL ES框架的基本结构。
框架详细结构模块
1. Classes
-
-
EAGLContext
对象管理OpenGL ES呈现上下文 - 使用OpenGL ES绘制所需的状态信息,命令和资源。 要执行OpenGL ES命令,您需要一个当前的渲染上下文。
-
-
-
EAGLSharegroup
对象管理与一个或多个EAGLContext对象相关联的OpenGL ES资源。 当EAGLContext对象被初始化并在引用它的最后一个EAGLContext对象被释放时,EAGLSharegroup
对象被创建。 作为一个不透明的对象,没有开发人员可访问的API。
-
2. Protocols
-
EAGLDrawable
- 实现
EAGLDrawable
协议的iOS对象可以用作渲染表面,并由EAGLContext对象显示给屏幕。 在iOS 2.0中,此协议仅由CAEAGLLayer类实现,但在将来其他类可能选择实现该协议。 EAGLDrawable协议不是由iOS以外的对象实现的。
- 实现
3. Reference
-
- 本文档介绍了OpenGL ES框架中的函数。
4. Related Documentation
后记
未完,待续~~~