OpenGL ES 创建流程

第一步


开始前的配置


创建UIView,修改Layer的返回类型,OpenGL只支持在CAEAGLLyer上绘制

设置Layer,获取Layer,Layer默认是透明的,我们必须将他设置为不透明

设置描绘属性,在这里设置不维持渲染内容以及内容格式为RGBA8

至此,初始化配置完成


第二步


设置上下文


设置OpenGL渲染的API版本

kEAGLRenderingAPIOpenGLES1 = 1,

kEAGLRenderingAPIOpenGLES2 = 2,

kEAGLRenderingAPIOpenGLES3 = 3,

初始化OpenGL的上下文 EAGLContext

设置当前内容的上下文 [EAGLContext setCurrentContext:context];


第三步


创建着色缓冲区


生成着色缓冲区对象名称

glGenRenderbuffers(1, &colorRenderBuffer);

绑定着色缓冲区对象

glBindRenderbuffer(GL_RENDERBUFFER, colorRenderBuffer);

为Color分配存储空间

[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:eaglLayer];


第四步


创建画布大小缓冲区


glGenFramebuffers(1, &frameBuffer);

绑定画布大小缓冲区对象

glBindRenderbuffer(GL_RENDERBUFFER, frameBuffer);

将上面的着色缓冲区装配到GL_COLOR_ATTACHMENT0这个装配点上

glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR<ATTACHMENT0, GL_RENDERBUFFER, colorRenderBuffer);


第五步


添加清空缓冲区


由于UIView在进行布局变化后,Layer高度发生了变化,所以我们要销毁原来的Buffer

glDeleteFramebuffer(1, &frameBuffer);

frameBuffer = 0;

glDeleteRenderbuffers(1, &colorBuffer);

colorBuffer = 0;


第六步


描绘


glClearColor(0,1.0,0,1.0);

glClear(GL_COLOR_BUFFER_BIT);

[context presentRenderbuffer:GL_RENDERBUFFER];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值