though, I did integrate it fully with my Entity and Material XML format That was kind of cool, because it allowed me to integrate it "rather" fast without too many hacks... well, without enormous amounts of hacks at least... so now my Materials support definition of "generated" textures and one can define them as RTT materials. Further, one can set which order the material should get in the MaterialManager's list of RTT materials... because, of course, when you're rendering a RTT texture attached to a fullscreen quad, that has to go through my Material system...
Though it did take a while longer to implement than I thought, it wasn't too bad to wrap my head around... though I do see that I have some refactoring to do on my design once the exam is over
So, behold! I expected my scene to turn up with a really nice bloom post-process filter...
I really, really love it when OpenGL throws these things at me... the rendering "kind of works"... but not really So, I fired up gDEBugger, my friend in need when I bump into rendering issues (and it sports a free license at the moment!!!). It told me I was making some redundant and deprecated calls in my FBO code for the post processing, but fixing those up didn't really change anything... so gDEBugger didn't really offer me much support...
so, I found that maybe it was a good idea to check the status of the FBOs after I created them! Finally some progress! The status check was throwing GL_FRAMEBUFFER_UNSUPPORTED at me. A quick google of the web lead me to OpenGL.org's Common Mistakes wiki page, which states the following under it's Render To Texture section:
[quote]
[font="sans-serif"][size="2"]Warning: NVIDIA's OpenGL driver has a known issue with using incomplete textures. If the texture is not texture complete, the FBO itself will be considered GL_FRAMEBUFFER_UNSUPPORTED, or will have GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT. This is a driver bug, as the OpenGL specification does not allow implementations to return either of these values simply because a texture is not yet complete. Until this is resolved in NVIDIA's drivers, it is advised to make sure that all textures have mipmap levels, and that all glTexParameteri values are properly set up for the format of the texture. For example, integral textures are not complete if the mag and min filters have any LINEAR fields.[/font]
[/quote]
Fair enough, so I fixed my issues. I was indeed using LINEAR filtering for my FBO textures, that, when I think about it, doesn't make much sense when you're rendering to a screen sized texture that will only get rendered on a screen sized quad later I also added mipmapping (though not sure if that was really required)...
and, magic! It works! "Just" one of seven days wasted on a Bloom post-process filter!!! That's pretty amazing waste of time here at the very end... oh well, at least I can show off some sparkling sun reflection on that spaceship metal hull now! That ought to count for something!