or in other words, you mean tl;dr ?
#define GL_FRAMEBUFFER_SRGB 0x8DB9
glEnable(GL_FRAMEBUFFER_SRGB);
The output of your fragment program will be scaled up by about 2.2 gamma (remember that quake's gamma cvar is backwards, about .45 iiuc).
(basically, this works around the issue that ericw pointed out).
When uploading textures, if you specify GL_SRGB_EXT for your internalformat argument, then your image is treated as though its already gamma corrected, and will be 'linearised' as part of sampling, such that it won't get brightened.
Using both at the same time can reduce banding in low-light areas, supposedly.
Edit:
Regarding documentation, the microsoft docs are outdated to the point of pointlessness. They don't document *ANYTHING* beyond gl 1.1. its all fixed function stuff - stuff that has been deprectated for quite some time now.
On the plus side, when it doesn't support anything, there's not much that is needed to be documented - which makes it muuuch more readable I guess.
Either way, if you're depending upon microsoft for documentation then you're basically handicapping yourself to whatever the latest thing microsoft thinks it can get away with pushing.
Its ironic really, their rediculously-outdated documentation for opengl is far more readable than thier documentation for d3d... Or would be, if searches for gl stuff on msdn didn't get drowned out by people talking about comparisons between gl+d3d... by citing microsoft.
Also,
http://www.gamedev.net/topic/198541-glv ... ion-error/The nice thing about official documentation of opengl is that its both complete and definitive. Other sites simply don't offer that (unless they're just copy+paste, making them a bit pointless except as mirrors).
But yes, you do have to actually know what you're looking for first.
.