OpenGL ES入门 - OpenGL和GLKit入门(Beginning OpenGL ES and GLKit)

1. What is OpenGL ES and GLKit

首先看一下整体架构图

image

OpenGL ES是我们与GPU交互的底层API(lowest level API)

  • 上层的框架包括iOS的Core Animation->Core Graphics->UIKit来进行iOS App中UI层面的操作
  • cocos2D / Unity等 游戏开发框架
  • Sprit Kit是Apple提供的2D游戏框架
  • GLKit 也是一种实用的2D / 3D框架

2. OpenGL ES 1.0 vs OpenGL ES 2.0

image

上图展示了两个版本OpenGL ES的管线(pipeline)的差异,首先整体流程大致相同,变化的部分主要集中在绿色区域。
在OpenGL ES1.0中 transform & lighting 和 texture / color sum fog / alphatest只提供了函数接口(build-in function)让我们来执行其中的操作。
但在OpenGL ES2.0中暴露了这两个部分内部的操作接口,提出了可编程管线(programmable pipeline),我们通过代码自定义shader来实现相应功能。虽然这增加了代码的复杂度,但是极大地提高了灵活性。

3. GLKit

  • GLKView / GLKViewController:GLKit提供的上层view和vc(相信iOS开发的同学都非常熟悉这两个概念),内部执行了一系列初始化流程,帮助我们更好的使用。
  • GLKMath:3D 数学函数库,可以进行一些矩阵运算、向量计算等操作
  • GLKTextureLoader: 封装了一系列Texture相关操作
  • GLKBseEffect:封装了一些列shader操作,帮助开发者将代码从OpenGL 1.0迁移至2.0

来源于:西蒙系列的OpenGLES教学 https://www.youtube.com/watch?v=VN_qGY43A1Y

posted @ 2021-05-09 14:16  图袋鼠  阅读(253)  评论(0编辑  收藏  举报