glInvalidateSubFramebuffer — invalidate the content of a region of some or all of a framebuffer object's attachments
void glInvalidateSubFramebuffer( | GLenum target, |
GLsizei numAttachments, | |
const GLenum * attachments, | |
GLint x, | |
GLint y, | |
GLint width, | |
GLint height) ; |
target
The target to which the framebuffer is attached. target
must be
GL_FRAMEBUFFER
, GL_DRAW_FRAMEBUFFER
, or GL_READ_FRAMEBUFFER
.
numAttachments
The number of entries in the attachments
array.
attachments
The address of an array identifying the attachments to be invalidated.
x
The X offset of the region to be invalidated.
y
The Y offset of the region to be invalidated.
width
The width of the region to be invalidated.
height
The height of the region to be invalidated.
glInvalidateSubFramebuffer
invalidates the content of a region
of a specified set of attachments of a framebuffer. The framebuffer
whose content to invalidate is indicated by setting target
to the target to which it is bound. target
may be
GL_FRAMEBUFFER
, GL_READ_FRAMEBUFFER
or
GL_DRAW_FRAMEBUFFER
. GL_FRAMEBUFFER
is treated as if it were GL_DRAW_FRAMEBUFFER
.
A region within a subset of the framebuffer's attachments may be invalidated.
This set of attachments are specified in an array whose address is given
by attachments
and which contains numAttachments
elements. The elements of attachments
must be
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.
Furthermore, if the default framebuffer is bound to target
, then
attachments
may contain GL_FRONT_LEFT
,
GL_FRONT_RIGHT
, GL_BACK_LEFT
, GL_BACK_RIGHT
,
GL_AUXi
, GL_ACCUM
,
GL_COLOR
, GL_DEPTH
, or GL_STENCIL
, identifying that specific buffer.
GL_COLOR
, is treated as GL_BACK_LEFT
for a double-buffered context and
GL_FRONT_LEFT
for a single-buffered context.
The region of the framebuffer attachments to be invalidated is specified
by x
, y
, width
and height
where x
and y
give the offset from the origin (with
lower-left corner at (0, 0)) and width
and height
give the size. Any pixels lying outside of the window allocated
to the current GL context, or outside of the attachments of the currently
bound framebuffer object, are ignored.
After glInvalidateFramebuffer
is executed, the contents
of the specified region of the specified attachments become undefined.
GL_INVALID_ENUM
is generated if target
is not one of the
accepted framebuffer target tokens.
GL_INVALID_ENUM
is generated if any element of attachments
is
not one of the accepted framebuffer attachment tokens.
GL_INVALID_OPERATION
is generated if element of attachments
is
GL_COLOR_ATTACHMENTi
where i is greater than or equal
to the value of GL_MAX_COLOR_ATTACHMENTS
.
glInvalidateTexSubImage, glInvalidateTexImage, glInvalidateBufferSubData, glInvalidateBufferData, glInvalidateFramebuffer.
Copyright © 2012 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/.