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.