GLbyte green,
GLbyte blue )
void glColor3d(
GLdouble red,
GLdouble green,
GLdouble blue )
void glColor3f(
GLfloat red,
GLfloat green,
GLfloat blue )
void glColor3i(
GLint red,
GLint green,
GLint blue )
void glColor3s(
GLshort red,
GLshort green,
GLshort blue )
void glColor3ub(
GLubyte red,
GLubyte green,
GLubyte blue )
void glColor3ui(
GLuint red,
GLuint green,
GLuint blue )
void glColor3us(
GLushort red,
GLushort green,
GLushort blue )
void glColor4b(
GLbyte red,
GLbyte green,
GLbyte blue,
GLbyte alpha )
void glColor4d(
GLdouble red,
GLdouble green,
GLdouble blue,
GLdouble alpha )
void glColor4f(
GLfloat red,
GLfloat green,
GLfloat blue,
GLfloat alpha )
void glColor4i(
GLint red,
GLint green,
GLint blue,
GLint alpha )
void glColor4s(
GLshort red,
GLshort green,
GLshort blue,
GLshort alpha )
void glColor4ub(
GLubyte red,
GLubyte green,
GLubyte blue,
GLubyte alpha )
void glColor4ui(
GLuint red,
GLuint green,
GLuint blue,
GLuint alpha )
void glColor4us(
GLushort red,
GLushort green,
GLushort blue,
GLushort alpha )
void glColor3dv( const GLdouble *v )
void glColor3fv( const GLfloat *v )
void glColor3iv( const GLint *v )
void glColor3sv( const GLshort *v )
void glColor3ubv( const GLubyte *v )
void glColor3uiv( const GLuint *v )
void glColor3usv( const GLushort *v )
void glColor4bv( const GLbyte *v )
void glColor4dv( const GLdouble *v )
void glColor4fv( const GLfloat *v )
void glColor4iv( const GLint *v )
void glColor4sv( const GLshort *v )
void glColor4ubv( const GLubyte *v )
void glColor4uiv( const GLuint *v )
void glColor4usv( const GLushort *v )
glColor3b, glColor4b, glColor3s, glColor4s, glColor3i, and glColor4i take three or four signed byte, short, or long integers as arguments. When v 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, glColor can be called between a call to glBegin and the corresponding call to glEnd.