本文为L_Ares个人写作,包括图片皆为个人亲自操作,如需转载请表明原文出处。
iOS中的GLKit框架是苹果提供的,快捷简便的开发OpenGL/OpenGL ES程序的库,GLKit提供了类和功能,来减少创建基于着色器的程序的工作量。
其提供了UIView
的子类GLKView
当作绘制场所。提供了UIViewController
的子类GLKViewController
来对绘制视图内容进行管理和呈现。
一、关于GLKit视图呈现OpenGL ES内容的流程
- OpenGL ES的基础建设——GLKit prepares
-
关于GLkit需要做的一些准备工作,比如帧缓冲区的创建。
-
这个创建的操作,GLKit已经为我们做了,但是如果不使用GLKit框架的话,这个帧缓冲区FrameBuffer就要自己来创建。
-
其中,帧缓冲区内会创建深度缓冲区(Depth)和颜色缓冲区(Color)。
-
对帧缓冲区内容的写入,这里就是你想要渲染的内容的code。
比如glClear
、glUniform
、glBind
、glDraw
等一些列的操作,都是在第二步完成的,并且这些内容都会写入到你的FrameBuffer中。 -
GLKit会处理你所写的内容,通过对FrameBuffer里面的代码的编译,利用
GLKView
呈现在显示界面上。
二、关于GLKit的功能
这里一定要记住一点,GLKit只是帮你完成一些OpenGL ES繁杂的内容,它只是把一些操作封装起来了给我们使用,而不是脱离了OpenGL ES单独来运行的!!!
-
加载纹理
-
提供高性能的数学运算
-
提供常见的着色器
-
提供视图及视图控制器
三、关于GLKit中的一些常用类和方法
1. GLKit纹理
GLKit纹理常用的类和方法
关于GLKView
关于GLKViewController
关于GLKBaseEffect
GLKit案例1
GLKit案例2
网友评论