位置: 编程技术 - 正文
推荐整理分享openGL ES 2.0开发流程(opengl es应用开发实践指南(android卷)pdf),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl es应用开发实践指南,opengl es 3.0编程指南,opengl es 3.0编程指南,opengl es2.0应用,opengl es3.2,opengl es2.0应用,opengl es2.0编程指南pdf,opengl es应用开发实践指南,内容如对您有帮助,希望把文章链接给更多的朋友!
一:添加必须的framework(框架)
OpenGLES.frameworks和QuartzCore.framework
二:修改OpenGLView.h
引入OpenGl的Header,创建一些后面会用到的实例变量
CAEAGLLayer* _eaglLayer;
EAGLContext* _context;
GLuint _colorRenderBuffer;
三:设置layer class为CAEAGLLayer
(Class)layerClass{
return [CAEAGLLayer class];
}
想要显示OpenGL的内容,需要把它缺省的layer设置为一个特殊的layer。(CAEAGLLayer)。这里通过直接复写layerClass的方法。
四:设置layer为不透明(Opaque)
- (void)setupLayer{
_eaglLayer = (CAEAGLLayer*)self.layer;
_eaglLayer.opaque = YES;
}
因为缺省的话,CALayer是透明的。而透明的层对性能负荷很大,特别是OpenGL的层。(如果可能,尽量都把层设置为不透明。另一个比较明显的例子是自定义tableView cell)
五:创建OpenGL context
-(void)setupContext{
EAGLRenderingAPI api = kEAGLRenderingAPIOpenGLES2;
_context = [[EAGLContext alloc] initWithAPI:api];
if(!_context) {
NSLog(@“Failed to initialize OpenGLES 2.0 context”);
exit(1)
}
if(![EAGLContext setCurrentContext:_context]) {
NSLog(@“Failed to set current OpenGL context”);
exit(1);
}
}
无论你要OpenGL帮你实现什么,总需要这个EAGLContext。EAGLContext管理所有通过OpenGL进行draw的信息。这个与Core Graphics context类。当创建一个context,要声明需要哪个version的API。这里,选择OpenGL ES 2.0。(容错处理,如果创建失败了,我们的程序会退出)
六:创建render buffer(渲染缓冲区)
-(void)setupRenderBuffer{
glGenRenderbuffers(1, &_colorRenderBuffer);
glBindRenderbuffer(GL_RENDERBUFFER, _colorRenderBuffer);
[_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:_eaglLayer];
}
Render buffer是OpenGL的一个对象,用于存放渲染过的图像。有时候你会发现render buffer会作为一个color buffer被引用,因为本质上它就是存放用于显示的颜色。
创建render buffer的三步:
1.调用glGenRenderbuffers来创建一个新的render buffer object。这里返回一个唯一的integer来标记render buffer(这里把这个唯一赋到——colorRenderBuffer)。有时候你会发现这个唯一被用来作为程序内的一个OpenGL的名称。(反正它是唯一的)
2.调用glBindRenderbuffer,告诉这个OpenGL:我在后面引用GL_RENDERBUFFER的地方,其实是想用_colorRenderBuffer。其实就是告诉OpenGL,我们定义的buffer对象是属于哪一种OpenGL对象。
3.最后,为render buffer分配空间。renderbufferStorage
七:创建一个frame buffer(帧缓冲区)
C#+OpenGL编程之OpenGL 变换(机器人) 本文基础:C#OpenGL编程之环境搭建原书第三章使用了一个机器人完成变换。正如基础教程所述,我们现在使用C#继承来修改基础场景。usingSystem;usingSystem.C
C#+OpenGL编程之OpenGL 光照 本文基础:C#OpenGL编程之环境搭建现在是第四章OpenGL光照,这章开始,我遇到麻烦了,因为原书的auxSolidSphere这个函数,C#没有封装,我就把例程修改为
C#+OpenGL编程之环境搭建(windows) 现在各种引擎红红火火,为什么还要开图像基础呢?现在的游戏开发中游戏引擎有什么样的地位,是不是不可缺少的。我觉得游戏引擎或多或少的会对
标签: opengl es应用开发实践指南(android卷)pdf
本文链接地址:https://www.jiuchutong.com/biancheng/373249.html 转载请保留说明!上一篇:视锥裁剪(视锥是什么意思)
友情链接: 武汉网站建设