私はOpenGLESを学んでおり、UIViewController内にGLKViewerを配置しようとしています。
GLViewControllerを使用することで主要な問題を回避できることはわかっていますが、この方法でそれを行う方法を学ぼうとしています。
この質問を見つけました。GLKViewをUIViewControllerにネストし、GLKViewと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
私はこれで完全な初心者なので、愚かな見落としをお詫びします:)