TerraForge3D  2.3.1
3D Terrain And Landscape Generator

◆ FrameBuffer()

FrameBuffer::FrameBuffer ( int  width = 800,
int  height = 600 
)

Definition at line 5 of file FrameBuffer.cpp.

6{
7 width = w;
8 height = h;
9 glGenFramebuffers(1, &fbo);
10 glBindFramebuffer(GL_FRAMEBUFFER, fbo);
11 glGenTextures(1, &colorTexture);
12 glBindTexture(GL_TEXTURE_2D, colorTexture);
13 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
14 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
15 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
16 glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorTexture, 0);
17 glGenTextures(1, &depthTexture);
18 glBindTexture(GL_TEXTURE_2D, depthTexture);
19 glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, w, h, 0, GL_DEPTH_COMPONENT, GL_FLOAT, 0);
20 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
21 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
22 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
23 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
24 glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, depthTexture, 0);
25 glBindFramebuffer(GL_FRAMEBUFFER, 0);
26}