CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
eaglLayer.opaque = YES;
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:FALSE], kEAGLDrawablePropertyRetainedBacking,
kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat,
nil];
-(void)initOpenGL
{
_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
if (!_context)
{
NSLog(@"Failed to initialize OpenGLES 1.0 context");
exit(1);
}
if (![EAGLContext setCurrentContext:_context])
{
NSLog(@"Failed to set current OpenGL context");
exit(1);
}
//setupFrameBuffer
glGenFramebuffersOES(1, &framebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, framebuffer);
//setupRenderBuffer
glGenRenderbuffersOES(1, &_colorRenderBuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, _colorRenderBuffer);
[_context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer *)self.layer];
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_RGBA8_OES,_screne_width, _screne_height);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES,GL_RENDERBUFFER_OES, _colorRenderBuffer);
glEnable(GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glViewport(0, 0, _screne_width, _screne_height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(-_screne_width, _screne_width, -_screne_height, _screne_height, -1024, 1024);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
//glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
//glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_FASTEST);
//glActiveTexture(GL_TEXTURE0);
CADisplayLink* displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(render:)];
// [displayLink setFrameInterval:2];
[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
}