openGl ES初始化

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];


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值