1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
//FBO PASS
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo);
glPushAttrib(GL_VIEWPORT_BIT);
glViewport(0,0,4096, 4096);
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, depthbuff);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
FboCam->PushCamera();
for(std::vector<Entity*>::iterator it = Entitys.begin(); it != Entitys.end(); ++it)
if((*it)->fbo) (*it)->Render(&(*it)->Pos, &(*it)->Rot, (*it)->fbo, fbo);
glPopAttrib();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
FboCam->PopCamera();
glGenerateMipmapEXT(fbo); // fbo
glFlush();
// FB PASS
BaseCam->PushCamera();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
for(std::vector<Entity*>::iterator it = Entitys.begin(); it != Entitys.end(); ++it)
(*it)->Render(&(*it)->Pos, &(*it)->Rot, (*it)->fbo, fbo);
BaseCam->PopCamera();
SDL_GL_SwapBuffers();
glFlush(); |
Partager