glIndex updates the current (single-valued) color index.
It takes one argument, the new value for the current color index.
The current index is stored as a floating-point value.
Integer values are converted directly to floating-point values,
with no special mapping.
The initial value is 1.
Index values outside the representable range of the color index buffer
are not clamped.
However,
before an index is dithered (if enabled) and written to the frame buffer,
it is converted to fixed-point format.
Any bits in the integer portion of the resulting fixed-point value
that do not correspond to bits in the frame buffer are masked out.