pioneerspacesim/pioneer — pull request #878 by johnbartholomew (2011-12-30 03:40:47+00:00)
Title: Issue 855

Three changes:

1. The exception thrown from RenderTarget::CheckCompleteness has been made more specific (it's now `RenderTarget::fbo_incomplete`) and keeps the error code around so it can be used in catch logic.
2. If FBO creation (for HDR) fails, the code now re-binds the framebuffer to the default render target so that non-HDR rendering works again rather than just giving a black screen.
3. If creation of the MultiSampledSceneTarget is attempted and fails, then it will turn off multisampling with `glDisable(GL_MULTISAMPLE)` and try to create a (non-multisampled) SceneTarget instead; HDR is only disabled if both fail (or one of the other FBO setup steps fails).

The third of those should fix #855 (it's just a fallback as Luomu suggested).