GLbyte _g_r_e_e_n, GLbyte _b_l_u_e )void ggllCCoolloorr33dd( GLdouble _r_e_d,
GLdouble _g_r_e_e_n, GLdouble _b_l_u_e )void ggllCCoolloorr33ff( GLfloat _r_e_d,
GLfloat _g_r_e_e_n, GLfloat _b_l_u_e )void ggllCCoolloorr33ii( GLint _r_e_d,
GLint _g_r_e_e_n, GLint _b_l_u_e )void ggllCCoolloorr33ss( GLshort _r_e_d,
GLshort _g_r_e_e_n, GLshort _b_l_u_e )void ggllCCoolloorr33uubb( GLubyte _r_e_d,
GLubyte _g_r_e_e_n, GLubyte _b_l_u_e )void ggllCCoolloorr33uuii( GLuint _r_e_d,
GLuint _g_r_e_e_n, GLuint _b_l_u_e )void ggllCCoolloorr33uuss( GLushort _r_e_d,
GLushort _g_r_e_e_n, GLushort _b_l_u_e )void ggllCCoolloorr44bb( GLbyte _r_e_d,
GLbyte _g_r_e_e_n, GLbyte _b_l_u_e, GLbyte _a_l_p_h_a )void ggllCCoolloorr44dd( GLdouble _r_e_d,
GLdouble _g_r_e_e_n, GLdouble _b_l_u_e, GLdouble _a_l_p_h_a )void ggllCCoolloorr44ff( GLfloat _r_e_d,
GLfloat _g_r_e_e_n, GLfloat _b_l_u_e, GLfloat _a_l_p_h_a )void ggllCCoolloorr44ii( GLint _r_e_d,
GLint _g_r_e_e_n, GLint _b_l_u_e, GLint _a_l_p_h_a )void ggllCCoolloorr44ss( GLshort _r_e_d,
GLshort _g_r_e_e_n, GLshort _b_l_u_e, GLshort _a_l_p_h_a )void ggllCCoolloorr44uubb( GLubyte _r_e_d,
GLubyte _g_r_e_e_n, GLubyte _b_l_u_e, GLubyte _a_l_p_h_a )void ggllCCoolloorr44uuii( GLuint _r_e_d,
GLuint _g_r_e_e_n, GLuint _b_l_u_e, GLuint _a_l_p_h_a )void ggllCCoolloorr44uuss( GLushort _r_e_d,
GLushort _g_r_e_e_n, GLushort _b_l_u_e, GLushort _a_l_p_h_a )
delim $$
void ggllCCoolloorr33ddvv( const GLdouble _*_v )
void ggllCCoolloorr33ffvv( const GLfloat _*_v )
void ggllCCoolloorr33iivv( const GLint _*_v )
void ggllCCoolloorr33ssvv( const GLshort _*_v )
void ggllCCoolloorr33uubbvv( const GLubyte _*_v )
void ggllCCoolloorr33uuiivv( const GLuint _*_v )
void ggllCCoolloorr33uussvv( const GLushort _*_v )
void ggllCCoolloorr44bbvv( const GLbyte _*_v )
void ggllCCoolloorr44ddvv( const GLdouble _*_v )
void ggllCCoolloorr44ffvv( const GLfloat _*_v )
void ggllCCoolloorr44iivv( const GLint _*_v )
void ggllCCoolloorr44ssvv( const GLshort _*_v )
void ggllCCoolloorr44uubbvv( const GLubyte _*_v )
void ggllCCoolloorr44uuiivv( const GLuint _*_v )
void ggllCCoolloorr44uussvv( const GLushort _*_v )
ggllCCoolloorr33bb, ggllCCoolloorr44bb, ggllCCoolloorr33ss, ggllCCoolloorr44ss, ggllCCoolloorr33ii, and ggllCCoolloorr44ii take three or four signed byte, short, or long integers as arguments. When vv is appended to the name, the color commands can take a pointer to an array of such values.
Current color values are stored in floating-point , with unspecified mantissa and exponent sizes. Unsigned integer color components, when specified, are linearly mapped to floating-point values such that the largest representable value maps to 1.0 (full intensity), and 0 maps to 0.0 (zero intensity). Signed integer color components, when specified, are linearly mapped to floating-point values such that the most positive representable value maps to 1.0, and the most negative representable value maps to -1.0. (Note that this mapping does not convert 0 precisely to 0.0.) Floating-point values are mapped directly.
Neither floating-point nor signed integer values are clamped to the range [0,1] before the current color is updated. However, color components are clamped to this range before they are interpolated or written into a color buffer.
The current color can be updated at any time. In particular, ggllCCoolloorr can be called between a call to ggllBBeeggiinn and the corresponding call to ggllEEnndd.