From OpenGL Reference
Jump to navigation Jump to search

Select a color buffer source for pixels.

C Specification[edit]

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


framebuffer - Specifies the name of the framebuffer object for glNamedFramebufferReadBuffer function.
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.


 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 imay be used to indicate theithcolor attachment whereiranges 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[edit]

 glGet with argument GL_READ_BUFFER 

Version Support[edit]

 glNamedFramebufferReadBuffer  4.5+
 glReadBuffer  2.0+

See Also[edit]

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


Copyright© 1991-2006 Silicon Graphics, Inc. Copyright© 2011-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see