int
status_fbo =glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);
int
normal_status =GL_FRAMEBUFFER_COMPLETE_EXT;
************DRAW
********
// Bind the FBO
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo);
// Draw my scene
Draw();
// Re bind the OpenGL Standard
framebuffer
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
// Then SDL swaps buffers…
Results:
<li class="MsoNormal" style="">
My status_fbo is equal to “GL_FRAMEBUFFER_COMPLETE_EXT”
! (good)
</li>
<li class="MsoNormal" style="">
If I disable the line “glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,
fbo);” in the “Draw part”, my scene
is correctly shown on the screen. (good)
</li>
<li class="MsoNormal" style="">
If I enable line “glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,
fbo);” in the “Draw part”, nothing
is shown (no good)
</li>
Question:
Please, is anyone could help me to identify the
mistake? I think I don’t really switch the back buffer with my FBO, but I don’t
know why...
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 17 févr. 2009 à 15:31
Hi.
I'm sorry but I really don't have any knowledge in OpenGL with C#.
But if anyone wants me to translate something, maybe I can help, because I guess you can't speak french.
Je m'y connais pas du tout en OpenGL C#.
Cependant, si quelqu'un peut aider mais ne parle pas anglais, je peux toujours essayer de traduire ;)
cs_roger000
Messages postés3Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention17 février 2009 17 févr. 2009 à 16:55
Oups.
Je ne sais pas où j'avais la tête en faisant ce post en anglais. Désolé.
Donc, pour un projet, j'ai besoin de faire de visualiser 2 parties de ma scène dans 2 FBO, puis de fusionner le contenu des 2 FBO par comparaison de leur Depth Buffer.
J'ai décomposé mon travail en 2 tâches :
1.
a. Rendre une partie de ma scène dans un framebuffer.
b. Echanger mon framebuffer avec le backbuffer
c. Echanger le front buffer avec le back buffer.
2. fusionner le contenu de 2 FBO
J'ai implémenté 1.
Résultats :
le statuts de mon FBO est bien complet. (bien)
Si je commente la line "glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fbo);" dans la partie "draw", ma scène s'affiche correctement. (bien)
Si je la laisse telle qu'elle est : rien ne s'affiche (pas bien)
Question:<?XML:NAMESPACE PREFIX = O /??>
Est-ce que quelqu'un aurait une idée de ce que je fais mal ?
Je soupsonne que je switch mal mon FBO avec mon Back buffer, mais je ne trouve pas d'informations la dessus.