【发布时间】:2012-11-12 16:28:22
【问题描述】:
我正在学习 OpenGLES,我正在尝试将 GLKViewer 放在 UIViewController 中。
我知道我可以通过使用 GLViewController 来解决主要问题,但我正在尝试学习如何做到这一点。
我发现了这个问题,Nesting GLKView into UIViewController 和 Nested GLKView and GLKViewController,但即使我认为我正在执行所有正确的步骤,我也一定遗漏了一些东西,因为当我运行我的项目时,我没有到达 drawInRect 打印线。
在故事板中,我将 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
我在这方面完全是菜鸟,所以我为任何愚蠢的疏忽道歉:)
【问题讨论】:
-
好的,我注意到我得到了“接近”票和 2 票反对票,而没有进一步解释问题中的问题或我的问题会如何变得更好。任何能重新获得我的积分的反馈将不胜感激。
-
我认为反对者应该解释他们的原因,而不是盲目地将其标记为关闭。 OP 显然在这里努力提供解释和代码。请求缺失信息的简单评论会有所帮助。
-
对我来说,我没有使用上下文进行初始化,这就是它没有被调用的原因。
标签: iphone objective-c ios opengl-es opengl-es-2.0