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:
http://tof.canardpc.com/view/7e0fc0da-9c63-489c-a1f1-eb6475dd3809.jpg
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.
Instead of the openGLView that is not used (and just takes up memory), you can use the main view dimensions:
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:
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 http://tof.canardpc.com/view/e06a0d8b-0d58-4cc9-965c-00e6ddefd519.jpg