glReadBuffer

3G

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 the constants `GL_COLOR_ATTACHMENT` i.

## Description

`glReadBuffer` specifies a color buffer as the source for subsequent

glReadPixels

,

glCopyTexImage1D

,

glCopyTexImage2D

,

glCopyTexSubImage1D

,

glCopyTexSubImage2D

, and

glCopyTexSubImage3D

commands. `mode` accepts one of twelve or more predefined values. 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. Further more, the constants `GL_COLOR_ATTACHMENT` i may be used to indicate the i th color attachment where i ranges from zero to the value of `GL_MAX_COLOR_ATTACHMENTS` minus one.

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.

## Associated Gets

glGet

with argument `GL_READ_BUFFER`

## See Also

glCopyTexImage1D

,

glCopyTexImage2D

,

glCopyTexSubImage1D

,

glCopyTexSubImage2D

,

glCopyTexSubImage3D

,

glDrawBuffer

,

glReadPixels

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. Copyright 2011-2013 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.