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_ATTACHMENTi,
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_AUXi,
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_ATTACHMENTm
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. http://opencontent.org/openpub/.