在ios上并排显示2个OpenGLES视图

时间:2013-03-06 05:12:17

标签: ios opengl-es glkview

我是ios上opengl编程的新手。所以我开始使用Xcode中的opegles游戏模板。这样可行。但是,我一直在努力设置两个opengles视图并排。这是我的实施。

In AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

   self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad"    bundle:nil] autorelease];
    self.anotherViewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window addSubview:self.anotherViewController.view];
}

ViewController派生自GLKViewController。我目前正在使用一种非常粗暴的方式在VC中并排放置两个视图:

- (void) viewDidLoad{
   [super viewDidLoad];

   self.context = [[[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2] autorelease];

   if (!self.context) {
       NSLog(@"Failed to create ES context");
   }
   static int staticX = 0;
   self.view = [[GLKView alloc] initWithFrame:CGRectMake(100, 100, 50 * staticX, 50)];
   GLKView *view = (GLKView *)self.view;

   view.frame = CGRectMake(100, 100, 50 * staticX, 50);
   view.context = self.context;
   view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
   [self setupGL:self.context];
   staticX++;
}

当我在iPad上运行此代码时,当调用glkView:(GLKView *)drawInRect:(CGRect)时出现此错误: OpenGLGame [1183:907]无法制作完整的帧缓冲对象8cd6。

第一个视图正确显示,但全屏显示。

有人可以帮我弄清楚我在这里缺少什么吗?

感谢

0 个答案:

没有答案