Framebuffer Object (FBO) supporté à moitié ?
Bonjour,
J'aimerai utiliser les FBO et voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, bufferID[0]);
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, bufferID[1]);
glBindTexture(GL_TEXTURE_2D, bufferID[2]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, bufferID[2], 0);
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, width, height);
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, bufferID[1]);
GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
if(status==GL_FRAMEBUFFER_UNSUPPORTED_EXT){
std::cout<<"Framebuffer object unsupported."<<std::endl;
} |
Ce code me dit que les FBO ne sont pas supporté. Est-ce vrai ? J'ai une Nvidia 7600 Go.
Cette erreur apparait uniquement quand j'utilise 'glFramebufferTexture2DEXT'.
Comment vérifier avec Glew si les FBO sont supportés ? J'ai tenté ceci:
if (GLEW_EXT_framebuffer_object){/*Supporté*/} mais ça ne semble pas suffisant parce que dans ce cas, il me dit qu'ils sont supporté !
Merci d'avance.