The glReadBuffer function selects a color buffer source for pixels.
void glReadBuffer(
GLenum mode
);
The glReadBuffer function specifies a color buffer as the source for subsequent glReadPixels and glCopyPixels commands. The mode parameter accepts one of twelve or more predefined values. (GL_AUX0 through GL_AUX3 are always defined.) In a fully configured system, GL_FRONT, GL_LEFT, and GL_FRONT_LEFT all name the front-left buffer, GL_FRONT_RIGHT and GL_RIGHT name the front-right buffer, and GL_BACK_LEFT and GL_BACK name the back-left buffer.
Nonstereo double-buffered configurations have only a front-left and a back-left buffer. Single-buffered configurations have a front-left and a front-right buffer if stereo, and only a front-left buffer if nonstereo. It is an error to specify a nonexistent buffer to glReadBuffer.
By default, mode is GL_FRONT in single-buffered configurations, and GL_BACK in double-buffered configurations.
The following function retrieves information related to glReadBuffer:
glGet with argument GL_READ_BUFFER
The following are the error codes generated and their conditions.
Error Code | Condition |
---|---|
GL_INVALID_ENUM | mode was not one of the twelve (or more) accepted values. |
GL_INVALID_OPERATION | mode specified a buffer that does not exist. |
GL_INVALID_OPERATION | glReadBuffer was called between a call to glBegin and the corresponding call to glEnd. |
Windows NT: Use version 3.5 and later.
Windows: Use Windows 95 and later.
Windows CE: Unsupported.
Header: Declared in gl.h.
Import Library: Link with opengl32.lib.
glBegin, glCopyPixels, glDrawBuffer, glEnd, glReadPixels