我正在学习OpenGLES,并尝试在UIViewController中放置GLKViewer。
我知道我可以通过使用GLViewController来绕过主要问题,但我想学习这种方式的操作方法。
我找到了这个问题:Nesting GLKView into UIViewController 和 Nested GLKView and GLKViewController 但我认为我已经按照所有正确的步骤进行操作,但当我运行我的项目时,我没有得到drawInRect打印线。
在storyboard中,我将ViewController指定为glkview组件的代理。
我尝试尽可能简化代码,并且需要帮助: MyController.h
我知道我可以通过使用GLViewController来绕过主要问题,但我想学习这种方式的操作方法。
我找到了这个问题:Nesting GLKView into UIViewController 和 Nested GLKView and GLKViewController 但我认为我已经按照所有正确的步骤进行操作,但当我运行我的项目时,我没有得到drawInRect打印线。
在storyboard中,我将ViewController指定为glkview组件的代理。
我尝试尽可能简化代码,并且需要帮助: MyController.h
#import <Foundation/Foundation.h>
#import <GLKit/GLKit.h>
@interface MyGLController : UIViewController <GLKViewDelegate>
{
GLuint vertexBufferID;
}
@property (weak, nonatomic) IBOutlet GLKView *glview;
@property (strong, nonatomic) GLKBaseEffect *baseEffect;
@end
MyGLController.m
#import "MyGLController.h"
@implementation MyGLController
//@synthesize baseEffect;
-(void) viewDidLoad{
[super viewDidLoad];
self.glview.context = [[EAGLContext alloc] initWithAPI:
kEAGLRenderingAPIOpenGLES2];
[EAGLContext setCurrentContext:self.glview.context];
printf("View Loaded");
}
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
{
printf("DrawInRect");
}
@end
* 更新 *
据我所知,glkview已按建议正确连接,并添加了josh-knapp并调用了setNeedsDisplay。
如果我漏掉了什么,请在此处上传项目的副本:https://github.com/jcrogel/OpenGLDebug.git
鉴于我的经验很浅,因此对任何愚蠢的疏忽表示歉意 :)