Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL 2
OpenGL ES 3

# glReadBuffer

## Name

glReadBuffer — select a color buffer source for pixels

## C Specification

`void glReadBuffer(` | GLenum | mode`)`;

## Parameters

`mode`

  Specifies 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_AUX` i, where i is between 0 and the value of `GL_AUX_BUFFERS` minus 1.

## Description

`glReadBuffer` specifies a color buffer as the source for subsequent glReadPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, and glCopyPixels commands. `mode` 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`.

`mode` is initially `GL_FRONT` in single-buffered configurations and `GL_BACK` in double-buffered configurations.

## Errors

`GL_INVALID_ENUM` is generated if `mode` is not one of the twelve (or more) accepted values.

`GL_INVALID_OPERATION` is generated if `mode` specifies a buffer that does not exist.

`GL_INVALID_OPERATION` is generated if `glReadBuffer` is executed between the execution of glBegin and the corresponding execution of glEnd.

## Associated Gets

glGet with argument `GL_READ_BUFFER`

## See Also

glCopyPixels, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glDrawBuffer, glReadPixels

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.

Think you can improve this page? Edit this page on GitHub.