OpenGL+MetalOpenGL首页投稿(暂停使用,暂停投稿)

OpenGLES_入门01_创建第一个工程

2016-09-21  本文已影响397人  酷走天涯
学习是一件开心的额事情

今天就带这个大家把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];

运行结果:

相信你也运行成功了

总结

完成上面的步骤,如果你运行成功的话,你已经完成了入门工作,这个是最底层的代码了,后面的教程,我们不在使用这种方式写代码,苹果公司给我们提供了更好的方式,下节继续。

代码在这里

上一篇 下一篇

猜你喜欢

热点阅读