Light | Dark



glReadBuffer, glNamedFramebufferReadBuffer — select a color buffer source for pixels

C Specification

void glReadBuffer( GLenum mode);
void glNamedFramebufferReadBuffer( GLuint framebuffer,
  GLenum mode);



Specifies the name of the framebuffer object for glNamedFramebufferReadBuffer function.


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_ATTACHMENTi.


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_ATTACHMENTi may be used to indicate the ith 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.

For glReadBuffer, the target framebuffer object is that bound to GL_READ_FRAMEBUFFER. For glNamedFramebufferReadBuffer, framebuffer must either be zero or the name of the target framebuffer object. If framebuffer is zero, then the default read framebuffer is affected.


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 by glNamedFramebufferReadBuffer if framebuffer is not zero or the name of an existing framebuffer object.

Associated Gets

glGet with argument GL_READ_BUFFER

Version Support

OpenGL Version
Function / Feature Name 2.0 2.1 3.0 3.1 3.2 3.3 4.0 4.1 4.2 4.3 4.4 4.5
glNamedFramebufferReadBuffer - - - - - - - - - - -
Think you can improve this page? Edit this page on GitHub.