hi, all
GLuint texture;
GLuint fbo;
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat)*8, 0, GL_DYNAMIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 480,800, 0, GL_RGB, GL_UNSIGNED_BYTE,0);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glRenderbufferStorage(GL_RENDERBUFFER,GL_DEPTH_COMPONENT16, 480, 800);
glFramebufferTexture2D(GL_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_TEXTURE_2D, texture, 0); // attach texture
glFramebufferRenderbuffer(GL_FRAMEBUFFER,GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER,rbo);
if(status != GL_FRAMEBUFFER_COMPLETE){
printf("framebuffer not complete ++++++++++n");
}
glBindFramebuffer(GL_FRAMEBUFFER,0);
glBindTexture(GL_TEXTURE_2D,texture);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glReadPixels(0, 0, 480,800, GL_RGBA,GL_FLOAT, 0);
glVertexAttribPointer (0, 2, GL_FLOAT, GL_FALSE, 0, 0);
glDrawArrays (GL_TRIANGLE_FAN, 0,4);
glBindBuffer(GL_ARRAY_BUFFER, 0 );