GLKit框架对OpenGL ES的操作做了很多的封装,开发者用起来比较方便。下面讲一讲如何使用。
首先自定义一个View,继承自GLKView。
#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface MyView : GLKView
@end
NS_ASSUME_NONNULL_END
新建OpenGL上下文,设置颜色格式:
//新建OpenGLES 上下文
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
self.drawableColorFormat = GLKViewDrawableColorFormatRGBA8888; //颜色缓冲区格式
[EAGLContext setCurrentContext:self.context];
准备顶点数据,并绑定顶点缓存:
//顶点数据,前三个是顶点坐标(x、y、z轴),后面两个是纹理坐标(x,y)
GLfloat vertexData[] =
{
0.5, -0.5, 0.0f, 1.0f, 0.0f, //右下
0.5, 0.5, 0.0f, 1.0f, 1.0f, //右上
-0.5, 0.5, 0.0f, 0.0f, 1.0f, //左上
0.5, -0.5, 0.0f, 1.0f, 0.0f, //右下
-0.5, 0