Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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 code (OpenGL ES game) and I implemented basic gesture controls: panning, zooming, rotating (trackball algorithm).

Now that this is done, I wanted to play with the different projection matrices and I started to design a user interface to do just that:


(source: canardpc.com)

The only problem is that it doesn't work when the top view in a GLKViewController isn't a GLKView.

Is it possible to have a GLKView as a subview and still retain the cool features of GLKViewController?

Thank you.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.1k views
Welcome To Ask or Share your Answers For Others

1 Answer

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:

result
(source: canardpc.com)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...