我正在尝试在UIViewController中使用GLKView,我的代码如下所示
CustomViewController.h
#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
@interface CustomViewController : UIViewController
{
NSString * name;
}
@property NSString * name;CustomViewController.m
#import "CustomViewController.h"
@interface CustomViewController ()
@end
@implementation CustomViewController
@synthesize name;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
EAGLContext * context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
CGRect mainScreen = [[UIScreen mainScreen] bounds];
GLKView * viewGL = [[GLKView alloc] initWithFrame:CGRectMake(mainScreen.size.width / 2, mainScreen.size.height / 2, 50, 50)];
viewGL.context = context;
[self.view addSubview:viewGL];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end如何定义GLKView的绘制/渲染方法?在哪里可以初始化OpenGL?有什么建议吗?
发布于 2012-03-18 10:31:59
在您的viewDidLoad中初始化OpenGL,就像您当前正在做的那样。
看看如何将视图控制器注册为GLKView's delegate。只要需要重画,就会调用委托的glkView:(GLKView *)view drawInRect:方法。
This tutorial may help.
https://stackoverflow.com/questions/9755288
复制相似问题