opengl es 2.0 Reder to texture iOS



- (void)setupTexture {

    

    GLint width;

    GLint height;


    width = self.frame.size.width;

    height = self.frame.size.height;


    

    glGenTextures(1, &_textureId);

    


    glBindTexture(GL_TEXTURE_2D,_textureId);

    

    glTexImage2D(GL_TEXTURE_2D,0, GL_RGBA, width, height,0, GL_RGBA,GL_UNSIGNED_BYTE,NULL);

    

    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_NEAREST);

    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_NEAREST);

    

}



- (void)setupMemFrameBuffer {

    glGenFramebuffers(1, &_memFrameBuffer);

    glBindFramebuffer(GL_FRAMEBUFFER,_memFrameBuffer);


    glFramebufferTexture2D(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,

                           GL_TEXTURE_2D, _textureId, 0);



    

    GLenum status =glCheckFramebufferStatus(GL_FRAMEBUFFER) ;

    

    if(status !=GL_FRAMEBUFFER_COMPLETE)

    {

        NSLog(@"failed to make complete framebuffer object %x", status);

    }

}


範例工程:

LxOpenglES_RenderToTexture

發佈了39 篇原創文章 · 獲贊 13 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章