glInvalidateFramebuffer, glInvalidateNamedFramebufferData — invalidate the content of some or all of a framebuffer's attachments
void glInvalidateFramebuffer( | GLenum target, |
GLsizei numAttachments, | |
const GLenum * attachments) ; |
void glInvalidateNamedFramebufferData( | GLuint framebuffer, |
GLsizei numAttachments, | |
const GLenum *attachments) ; |
target
Specifies the target to which the framebuffer object is attached for glInvalidateFramebuffer
.
framebuffer
Specifies the name of the framebuffer object for glInvalidateNamedFramebufferData
.
numAttachments
Specifies the number of entries in the attachments
array.
attachments
Specifies a pointer to an array identifying the attachments to be invalidated.
glInvalidateFramebuffer
and glInvalidateNamedFramebufferData
invalidate the entire contents of a specified set of attachments of a framebuffer.
For glInvalidateFramebuffer
, the framebuffer object is that bound to target
. target
must be GL_FRAMEBUFFER
, GL_READ_FRAMEBUFFER
or GL_DRAW_FRAMEBUFFER
. GL_FRAMEBUFFER
is equivalent to GL_DRAW_FRAMEBUFFER
. Default framebuffers may also be invalidated if bound to target
.
For glInvalidateNamedFramebufferData
, framebuffer
is the name of the framebuffer object. If framebuffer
is zero, the default draw framebuffer is affected.
The set of attachments whose contents are to be invalidated are specified in the attachments
array, which contains numAttachments
elements.
If the specified framebuffer is a framebuffer object, each element of attachments
must be one of GL_DEPTH_ATTACHMENT
, GL_STENCIL_ATTACHMENT
GL_DEPTH_STENCIL_ATTACHMENT
, or GL_COLOR_ATTACHMENT
i, where i is between zero and the value of GL_MAX_FRAMEBUFFER_ATTACHMENTS
minus one.
If the specified framebuffer is a default framebuffer, each element of attachments
must be one of GL_FRONT_LEFT
, GL_FRONT_RIGHT
, GL_BACK_LEFT
, GL_BACK_RIGHT
, GL_AUX
i, GL_ACCUM
, GL_COLOR
, GL_DEPTH
, or GL_STENCIL
. GL_COLOR
, is treated as GL_BACK_LEFT
for a double-buffered context and GL_FRONT_LEFT
for a single-buffered context. The other attachments identify the corresponding specific buffer.
The entire contents of each specified attachment become undefined after execution of glInvalidateFramebuffer
or glInvalidateNamedFramebufferData
.
If the framebuffer object is not complete, glInvalidateFramebuffer
and glInvalidateNamedFramebufferData
may be ignored. This is not an error.
GL_INVALID_ENUM
is generated by glInvalidateFramebuffer
if target
is not one of the accepted framebuffer targets.
GL_INVALID_OPERATION
is generated by glInvalidateNamedFramebufferData
if framebuffer
is not zero or the name of an existing framebuffer object.
GL_INVALID_VALUE
is generated if numAttachments
is negative.
GL_INVALID_ENUM
is generated if any element of attachments
is not one of the accepted framebuffer attachment points, as described above.
GL_INVALID_OPERATION
is generated if element of attachments
is GL_COLOR_ATTACHMENT
m where m is greater than or equal to the value of GL_MAX_COLOR_ATTACHMENTS
.
glGet with argument GL_MAX_COLOR_ATTACHMENTS
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 |
glInvalidateFramebuffer | - | - | - | - | - | - | - | - | - | ✔ | ✔ | ✔ |
glInvalidateNamedFramebufferData | - | - | - | - | - | - | - | - | - | - | - | ✔ |
glInvalidateTexSubImage, glInvalidateTexImage, glInvalidateBufferSubData, glInvalidateBufferData, glInvalidateSubFramebuffer.
Copyright © 2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.