glReadBuffer, glNamedFramebufferReadBuffer — select a color buffer source for pixels
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_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 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.
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.
glGet with argument GL_READ_BUFFER
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 | - | - | - | - | - | - | - | - | - | - | - | ✔ |
glReadBuffer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |