学习是一件开心的额事情
今天就带这个大家把OpenGL 用原始的方法创建一下,之后我们会使用苹果给我封装的类做,简化操作!
创建一个OpenGL 工程,用黄色渲染视图
1.创建工程(一个普通的工程就行) 2.创建一个视图(继承UIView) 3.设置这个视图的Layer层为CAEAGLLayer 类型 4.创建一个管理OpenGL的上下文,并设置为当前上下文 5.创建渲染缓冲区 6.创建帧缓冲区 7.将渲染缓冲区关联到帧缓冲区中去 8.将渲染缓冲区绑定到目标layer层上去 9.用指定的颜色清除渲染缓冲区 10.将渲染缓冲区显示出来
让学习成为一种习惯
就是一个普通的工程
让学习成为一种习惯
让学习成为一种习惯
+(Class)layerClass{
return [CAEAGLLayer class];
}
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
[EAGLContext setCurrentContext:context]; // 设置其为当前OpenGL 渲染的管理上下文
glGenRenderbuffers(1, &colorRenderBuffer);
glBindRenderbuffer(GL_RENDERBUFFER, colorRenderBuffer);
glGenFramebuffers(1, &framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderBuffer);
//检测帧缓冲区有没有创建成功
if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatus(GL_FRAMEBUFFER));
}
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];
glClearColor(1, 1, 0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
[context presentRenderbuffer:GL_RENDERBUFFER];
运行结果:
相信你也运行成功了
完成上面的步骤,如果你运行成功的话,你已经完成了入门工作,这个是最底层的代码了,后面的教程,我们不在使用这种方式写代码,苹果公司给我们提供了更好的方式,下节继续。
代码在这里