Nested GLKView and GLKViewController

后端 未结 2 814
清歌不尽
清歌不尽 2020-12-21 04:22

I\'m new to OpenGL ES and I\'m experimenting with GLKit. My goal is to develop a very simple app just to get a good feel of OpenGL.

I started with Apple\'s sample cod

相关标签:
2条回答
  • 2020-12-21 04:55

    Ok so I found the answer.

    The "OpenGL View Controller" in the picture must be a normal UIViewController. Subclass this view controller and in the viewDidLoad, create programmatically your OpenGL View Controller:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
    
        _openGLViewController = [[FZIOpenGLViewController alloc] initWithNibName:@"FZIOpenGLView" bundle:nil];
    
        _openGLViewController.view.frame = _openGLView.frame;
    
        [self.view addSubview:_openGLViewController.view];
    
    }
    

    In this code, _openGLView is an IBOutlet representing "GLKit View" in the picture. It's basically just there to get the right dimensions.

    _openGLViewController is your GLKViewController subclass that handles everything OpenGL. The .xib file FZIOpenGLView.xib is just a GLKView with the appropriate File Owner (FZIOpenGLViewController).

    It works:


    (source: canardpc.com)

    0 讨论(0)
  • 2020-12-21 05:06

    Instead of the openGLView that is not used (and just takes up memory), you can use the main view dimensions:

    _openGLViewController.view.frame = self.view.frame; // instead of _openGLView.frame
    
    0 讨论(0)
提交回复
热议问题