We can have an internal floating point frame buffer, regardless of the back
buffer format. To do that, we should use a texture and render it as a quad
on the back buffer.
This will allow the use of pixel shaders for tonemapping and gamma
correction (finally ;)
Rendering the frame buffer as a quad will also allow us using odd
resolutions in full screen mode.