我正在使用 GLKit 的 GLKViewController/GLKView 来做一些基本的 OpenGL 绘图。
我想在 ViewDidLoad 方法中设置 ViewPort。在阅读了 GLKView 参考之后,我想我可以这样做:
- (void)viewDidLoad
{
[super viewDidLoad];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!self.context) {
NSLog(@"Failed to create ES context");
}
GLKView *view = (GLKView *)self.view;
view.context = self.context;
glViewport( 0, 0, view.DrawableWidth, view.DrawableHeight );
}
问题是DrawableWidth
和DrawableHeight
属性都为零。这是为什么?当 GLKView 调用 DrawInRect 时,它们被设置并且它们的值是我所期望的。