WGL_3DFX_GAMMA_CONTROL NOTE: THIS IS *** NOT *** AN OFFICIAL SPECIFICATION FOR WGL_3DFX_GAMMA_CONTROL, SINCE I HAVE BEEN UNABLE TO OBTAIN ONE. IT IS MY UNDERSTANDING OF HOW THE EXTENSION WORKS IN PRACTICE. On Windows the gamma ramp for cards with 2d / 3d hardware can in general be set using the Win32 functions SetDeviceGammaRamp and GetDeviceGammaRamp, as described in the standard MSDN documentation. Some 3dfx cards, however, do not support these functions. As of December 1999, this category includes Voodoo 1, 2 and Rush. The current drivers for these cards export the WGL_3DFX_gamma_control extension. This extension includes two functions: BOOL wglSetDeviceGammaRamp3DFX(HDC, LPVOID) BOOL wglGetDeviceGammaRamp3DFX(HDC, LPVOID) The interface definitions for these functions is the same as for SetDeviceGammaRamp and GetDeviceGammaRamp. Note that, as of December 1999: 1) On some versions of the Voodoo 1 drivers you may need to click on the "link gamma sliders to Glide" button in the driver control panel to get wglSetDeviceGammaRamp3DFX to work. 2) wglGetDeviceGammaRamp3DFX doesn't seem to work, at least on Voodoo 1 and Voodoo 2 cards (the returned arrays always contain only zero value elements). However, wglSetDeviceGammaRamp3DFX takes a "standard" range of gamma values, so this shouldn't matter unless you're trying to store the values present on game startup and restore them on exit.