1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
GLuint framebuffer;
GLuint depthbuffer;
GLuint texture;
const unsigned int nWidth = 1280;
const unsigned int nHeight = 1024;
glewInit();
glGenFramebuffersEXT( 1, &framebuffer );
glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, framebuffer );
glGenRenderbuffersEXT( 1, &depthbuffer );
glBindRenderbufferEXT( GL_RENDERBUFFER_EXT, depthbuffer );
glRenderbufferStorageEXT( GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, nWidth, nHeight );
glFramebufferRenderbufferEXT( GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depthbuffer);
glGenTextures( 1, &texture );
glBindTexture( GL_TEXTURE_2D, texture );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA8, nWidth, nHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL );
glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, texture, 0 );
assert( glCheckFramebufferStatusEXT( GL_FRAMEBUFFER_EXT ) != GL_FRAMEBUFFER_UNSUPPORTED_EXT );
|