Created
January 22, 2016 13:22
-
-
Save endavid/9200b2e2c000717d0f05 to your computer and use it in GitHub Desktop.
OpenGL ES 1.0 Create framebuffer textures example from Snake on a Sphere
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PushRenderBuffer(); | |
PushFrameBuffer(); | |
// Create the renderbuffers and framebuffers | |
glGenRenderbuffers(ResourceSky::NUM_BUFFERS, g_res->renderBuffer); | |
glGenFramebuffers(ResourceSky::NUM_BUFFERS, g_res->frameBuffer); | |
for (int i = 0; i < ResourceSky::NUM_BUFFERS; ++i) { | |
glBindRenderbuffer(GL_RENDERBUFFER, g_res->renderBuffer[i]); | |
glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA8_OES, g_res->width[i], g_res->height[i]); | |
glBindFramebuffer(GL_FRAMEBUFFER, g_res->frameBuffer[i]); | |
r->AllocTextureResource(g_res->texId[i], GL_LINEAR, GL_CLAMP_TO_EDGE); | |
g_res->texturePtr[i] = r->GetTextureResource(g_res->texId[i]); | |
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, g_res->width[i], g_res->height[i], 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); | |
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, g_res->texturePtr[i]->GetGLTexture(), 0); | |
//Test the framebuffer for completeness | |
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER) ; | |
if(status != GL_FRAMEBUFFER_COMPLETE) { | |
NSLog(@"failed to make complete framebuffer object %x", status); | |
} else { | |
NSLog(@"SkyPlugin [Buffer %d initialized]", i); | |
} | |
} | |
PopRenderBuffer(); | |
PopFrameBuffer(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment