首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Xcode4的黑客OpenGL ES2模板项目的问题

来自Xcode4的黑客OpenGL ES2模板项目的问题
EN

Stack Overflow用户
提问于 2011-05-01 11:28:17
回答 1查看 323关注 0票数 0

通过xcode4从opengl模板创建新项目,您将看到一个颜色方块在移动。

我想再放两个小视图来显示相同的东西。我所做的是添加两个

代码语言:javascript
复制
EAGLView *glView1;
EAGLView *glView2;

然后使用属性/systhesize等进行设置,使用self.view编写相同的代码,如下所示

代码语言:javascript
复制
 [(EAGLView *)self.view setContext:context];
[(EAGLView *)self.view setFramebuffer];

if (!glView2) {
    glView2 = [[EAGLView alloc] init];
}
[self.glView2 setContext:context2];
[self.glView2 setFramebuffer];

if (!glView1) {
    glView1 = [[EAGLView alloc] init];
}
[self.glView1 setContext:context];
[self.glView1 setFramebuffer];

对self.view做过的其他地方做同样的事情。在接口构建器中链接也是正确的。(xcode4)

但结果显示

我发现drawFrame中的最后一个绘制顺序将决定显示哪个窗口

代码语言:javascript
复制
[self.glView1  setFramebuffer];
[self.glView2  setFramebuffer];         // these will not show , but if put last, it will show
[(EAGLView *)self.view setFramebuffer]; // this will work 

这对解释我的目的和问题有意义吗?非常感谢你指出了根本原因,并帮助我度过了这个难关。

EN

回答 1

Stack Overflow用户

发布于 2012-02-02 09:07:53

你需要阅读OpenGL ES 2.0 ("OGLES2.0")。您不应该使用多个EAGLView实例。您只需要一个,并使用OGLES2.0命令在其上绘制。

OpenGL并不容易学习,在使用它实现简单的渲染之前,您必须投入大量的时间。你应该寻找一个像cocos2D这样的外部库来帮助你实现你想要的东西。仔细阅读那里的教程和文档,并进行实验。你仍然需要花很多时间才能达到令人满意的结果,但这比你自己直接使用OGLES要少得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5846220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档