1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry id="glInvalidateSubFramebuffer">
<refentryinfo>
<copyright>
<year>2013</year>
<holder>Khronos Group</holder>
</copyright>
</refentryinfo>
<refmeta>
<refentrytitle>glInvalidateSubFramebuffer</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glInvalidateSubFramebuffer</refname>
<refpurpose>invalidate the content of a region of some or all of a framebuffer object's attachments</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>void <function>glInvalidateSubFramebuffer</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
<paramdef>GLsizei <parameter>numAttachments</parameter></paramdef>
<paramdef>const GLenum * <parameter>attachments</parameter></paramdef>
<paramdef>GLint <parameter>x</parameter></paramdef>
<paramdef>GLint <parameter>y</parameter></paramdef>
<paramdef>GLint <parameter>width</parameter></paramdef>
<paramdef>GLint <parameter>height</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>target</parameter></term>
<listitem>
<para>
The target to which the framebuffer is attached. <parameter>target</parameter> must be
<constant>GL_FRAMEBUFFER</constant>, <constant>GL_DRAW_FRAMEBUFFER</constant>, or <constant>GL_READ_FRAMEBUFFER</constant>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>numAttachments</parameter></term>
<listitem>
<para>
The number of entries in the <parameter>attachments</parameter> array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attachments</parameter></term>
<listitem>
<para>
The address of an array identifying the attachments to be invalidated.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>x</parameter></term>
<listitem>
<para>
The X offset of the region to be invalidated.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>y</parameter></term>
<listitem>
<para>
The Y offset of the region to be invalidated.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>width</parameter></term>
<listitem>
<para>
The width of the region to be invalidated.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>height</parameter></term>
<listitem>
<para>
The height of the region to be invalidated.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="description"><title>Description</title>
<para>
<function>glInvalidateSubFramebuffer</function> 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 <parameter>target</parameter>
to the target to which it is bound. <parameter>target</parameter> may be
<constant>GL_FRAMEBUFFER</constant>, <constant>GL_READ_FRAMEBUFFER</constant> or
<constant>GL_DRAW_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant>
is treated as if it were <constant>GL_DRAW_FRAMEBUFFER</constant>.
</para>
<para>
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 <parameter>attachments</parameter> and which contains <parameter>numAttachments</parameter>
elements. The elements of <parameter>attachments</parameter> must be
<constant>GL_DEPTH_ATTACHMENT</constant>, <constant>GL_STENCIL_ATTACHMENT</constant>
<constant>GL_DEPTH_STENCIL_ATTACHMENT</constant>, or <constant>GL_COLOR_ATTACHMENT</constant><emphasis>i</emphasis>,
where <emphasis>i</emphasis> is between zero and the value of <constant>GL_MAX_FRAMEBUFFER_ATTACHMENTS</constant> minus one.
Furthermore, if the default framebuffer is bound to <parameter>target</parameter>, then
<parameter>attachments</parameter> may contain <constant>GL_FRONT_LEFT</constant>,
<constant>GL_FRONT_RIGHT</constant>, <constant>GL_BACK_LEFT</constant>, <constant>GL_BACK_RIGHT</constant>,
<constant>GL_AUX</constant><emphasis>i</emphasis>, <constant>GL_ACCUM</constant>,
<constant>GL_COLOR</constant>, <constant>GL_DEPTH</constant>, or <constant>GL_STENCIL</constant>, identifying that specific buffer.
<constant>GL_COLOR</constant>, is treated as <constant>GL_BACK_LEFT</constant> for a double-buffered context and
<constant>GL_FRONT_LEFT</constant> for a single-buffered context.
</para>
<para>
The region of the framebuffer attachments to be invalidated is specified
by <parameter>x</parameter>, <parameter>y</parameter>, <parameter>width</parameter> and <parameter>height</parameter>
where <parameter>x</parameter> and <parameter>y</parameter> give the offset from the origin (with
lower-left corner at (0, 0)) and <parameter>width</parameter> and <parameter>height</parameter>
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 <function>glInvalidateFramebuffer</function> is executed, the contents
of the specified region of the specified attachments become undefined.
</para>
</refsect1>
<refsect1 id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the
accepted framebuffer target tokens.
</para>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if any element of <parameter>attachments</parameter> is
not one of the accepted framebuffer attachment tokens.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated if element of <parameter>attachments</parameter> is
<constant>GL_COLOR_ATTACHMENT</constant><emphasis>i</emphasis> where <emphasis>i</emphasis> is greater than or equal
to the value of <constant>GL_MAX_COLOR_ATTACHMENTS</constant>.
</para>
</refsect1>
<refsect1 id="associatedgets"><title>Associated Gets</title>
<para>
<citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAX_COLOR_ATTACHMENTS</constant>
</para>
</refsect1>
<refsect1 id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glInvalidateTexSubImage</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glInvalidateTexImage</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glInvalidateBufferSubData</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glInvalidateBufferData</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glInvalidateFramebuffer</refentrytitle></citerefentry>.
</para>
</refsect1>
<refsect1 id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"></trademark> 2013 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.
<ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.
</para>
</refsect1>
</refentry>
|