For an index, if the type is not FLOAT, final conversion consists of masking the index with the value given Table 4.6; if the type is FLOAT, then the integer index is converted to a GL float data value. For a component, each component is first clamped to . Then, the appropriate conversion formula from Table 4.7 is applied to the component.
Table 4.6: Index masks used by ReadPixels . Floating point data are not masked.
Table 4.7: Reversed component conversions - used when component data are being returned to client memory. Color, normal, and depth components are converted from the internal floating-point representation (f) to a datum of the specified GL data type (c) using the equations in this table. All arithmetic is done in the internal floating point format. These conversions apply to component data returned by GL query commands and to components of pixel data returned to client memory. The equations remain the same even if the implemented ranges of the GL data types are greater than the minimum required ranges. (Refer to table 2.2)