glInvalidateSubFramebuffer — Invalidate portions of the contents of attachments within a framebuffer
void glInvalidateSubFramebuffer(
|
GLenum target, |
GLsizei numAttachments, | |
const GLenum *attachments, | |
GLintx, | |
GLinty, | |
GLsizei width, | |
GLsizei height) ; |
target
Specifies the target of the invalidate operation.
numAttachments
Specifies how many attachments are supplied in the attachments
list.
attachments
A list of numAttachments
attachments to invalidate.
x
Specifies the left origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0).
y
Specifies the bottom origin of the pixel rectangle to invalidate, with lower left hand corner at (0,0).
width
Specifies the width of the pixel rectangle to invalidate.
height
Specifies the height of the pixel rectangle to invalidate.
glInvalidateSubFramebuffer
signals to the
GL that it need not preserve all pixels of a specified region of
the framebuffer bound to target
.
target
must be GL_READ_FRAMEBFUFFER
,
GL_DRAW_FRAMEBUFFER
or GL_FRAMEBUFFER
. The
token GL_FRAMEBUFFER
is treated as GL_DRAW_FRAMEBUFFER
.
attachments
contains a list of numAttachments
to be
invalidated. If an attachment is specified that does not exist
in the bound framebuffer, it is ignored.
x
, y
,
width
and height
specify the bounds of the pixel rectangle to invalidate. Any of
these pixels lying outside of the window allocated to the
current GL context, or outside of the image attached to the
currently bound framebuffer object, are ignored.
If a framebuffer object is bound, then
attachments
may contain
GL_COLOR_ATTACHMENTi
,
GL_DEPTH_ATTACHMENT
,
GL_STENCIL_ATTACHMENT
, and/or
GL_DEPTH_STENCIL_ATTACHMENT
. If the
framebuffer object is not complete,
glInvalidateSubFramebuffer
may be ignored.
If the default framebuffer is bound, then
attachments
may contain
GL_COLOR
, identifying the color buffer;
GL_DEPTH
, identifying the depth buffer;
and/or GL_STENCIL
, identifying the stencil
buffer.
The intention of this function is to provide a hint to the GL implementation that there is no longer a need to preserve the contents of particular attachments of a framebuffer object, or the default framebuffer. It is possible, for example, to signal the intention that depth and or stencil data is no longer needed at the end of a scene, or that multisample color buffer data is no longer needed after a resolve through glBlitFramebuffer.
GL_INVALID_ENUM
is generated if target
is not GL_DRAW_FRAMEBUFFER
,
GL_READ_FRAMEBUFFER
, or GL_FRAMEBUFFER
.
GL_INVALID_OPERATION
is generated if
attachments
contains
GL_COLOR_ATTACHMENTm
and m is greater than
or equal to the value of
GL_MAX_COLOR_ATTACHMENTS
.
OpenGL ES API Version | ||
---|---|---|
Function Name | 2.0 | 3.0 |
glInvalidateSubFramebuffer | - | ✔ |
glBindFramebuffer, glBlitFramebuffer glFramebufferRenderbuffer, glFramebufferTexture2D, glFramebufferTextureLayer, glInvalidateFramebuffer
Copyright © 2014-2015 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/.