The glReadBuffer function selects a color buffer source for pixels.

void glReadBuffer(
  GLenum mode);


  • mode
    A color buffer. Accepted values are GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, and GL_AUXi, where i is between 0 and GL_AUX_BUFFERS 1.


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

Error Codes

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/2000:** Requires Windows NT 3.5 or later.
**  Windows 95/98:** Requires Windows 95 or later. Available as a redistributable for Windows 95.
**  Header:** Declared in Gl.h.
**  Library:** Use Opengl32.lib.

See Also

glBegin, glCopyPixels, glDrawBuffer, glEnd, glReadPixels