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 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
|
<!DOCTYPE refentry [ <!ENTITY % mathent SYSTEM "math.ent"> %mathent; ]>
<!-- Converted by db4-upgrade version 1.1 -->
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="glCheckFramebufferStatus">
<info>
<copyright>
<year>2010-2014</year>
<holder>Khronos Group</holder>
</copyright>
</info>
<refmeta>
<refentrytitle>glCheckFramebufferStatus</refentrytitle>
<manvolnum>3G</manvolnum>
</refmeta>
<refnamediv>
<refname>glCheckFramebufferStatus</refname>
<refname>glCheckNamedFramebufferStatus</refname>
<refpurpose>check the completeness status of a framebuffer</refpurpose>
</refnamediv>
<refsynopsisdiv><title>C Specification</title>
<funcsynopsis>
<funcprototype>
<funcdef>GLenum <function>glCheckFramebufferStatus</function></funcdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>GLenum <function>glCheckNamedFramebufferStatus</function></funcdef>
<paramdef>GLuint <parameter>framebuffer</parameter></paramdef>
<paramdef>GLenum <parameter>target</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 xml:id="parameters"><title>Parameters</title>
<variablelist>
<varlistentry>
<term><parameter>target</parameter></term>
<listitem>
<para>
Specify the target to which the framebuffer is bound for
<function>glCheckFramebufferStatus</function>, and the
target against which framebuffer completeness of
<parameter>framebuffer</parameter> is checked for
<function>glCheckNamedFramebufferStatus</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>framebuffer</parameter></term>
<listitem>
<para>
Specifies the name of the framebuffer object
for <function>glCheckNamedFramebufferStatus</function>
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 xml:id="description"><title>Description</title>
<para>
<function>glCheckFramebufferStatus</function> and
<function>glCheckNamedFramebufferStatus</function> return the
completeness status of a framebuffer object when treated as a
read or draw framebuffer, depending on the value of
<parameter>target</parameter>.
</para>
<para>
For <function>glCheckFramebufferStatus</function>, the
framebuffer checked is that bound to
<parameter>target</parameter>, which must be
<constant>GL_DRAW_FRAMEBUFFER</constant>,
<constant>GL_READ_FRAMEBUFFER</constant> or
<constant>GL_FRAMEBUFFER</constant>.
<constant>GL_FRAMEBUFFER</constant> is equivalent to
<constant>GL_DRAW_FRAMEBUFFER</constant>.
</para>
<para>
For <function>glCheckNamedFramebufferStatus</function>,
<parameter>framebuffer</parameter> is zero or the name of the
framebuffer object to check. If
<parameter>framebuffer</parameter> is zero, then the status of
the default read or draw framebuffer, as determined by
<parameter>target</parameter>, is returned.
</para>
<para>
The return value is <constant>GL_FRAMEBUFFER_COMPLETE</constant>
if the specified framebuffer is complete. Otherwise, the return
value is determined as follows:
<itemizedlist>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_UNDEFINED</constant> is
returned if the specified framebuffer is the default
read or draw framebuffer, but the default
framebuffer does not exist.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT</constant>
is returned if any of the framebuffer attachment
points are framebuffer incomplete.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT</constant>
is returned if the framebuffer does not have at
least one image attached to it.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER</constant>
is returned if the value of
<constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant>
is <constant>GL_NONE</constant> for any color
attachment point(s) named by
<constant>GL_DRAW_BUFFERi</constant>.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER</constant>
is returned if <constant>GL_READ_BUFFER</constant>
is not <constant>GL_NONE</constant> and the value of
<constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant>
is <constant>GL_NONE</constant> for the color
attachment point named by
<constant>GL_READ_BUFFER</constant>.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_UNSUPPORTED</constant> is
returned if the combination of internal formats of
the attached images violates an
implementation-dependent set of restrictions.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE</constant>
is returned if the value of
<constant>GL_RENDERBUFFER_SAMPLES</constant> is not
the same for all attached renderbuffers; if the
value of <constant>GL_TEXTURE_SAMPLES</constant> is
the not same for all attached textures; or, if the
attached images are a mix of renderbuffers and
textures, the value of
<constant>GL_RENDERBUFFER_SAMPLES</constant> does
not match the value of
<constant>GL_TEXTURE_SAMPLES</constant>.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE</constant>
is also returned if the value of
<constant>GL_TEXTURE_FIXED_SAMPLE_LOCATIONS</constant>
is not the same for all attached textures; or, if
the attached images are a mix of renderbuffers and
textures, the value of
<constant>GL_TEXTURE_FIXED_SAMPLE_LOCATIONS</constant>
is not <constant>GL_TRUE</constant> for all attached
textures.
</para>
</listitem>
<listitem>
<para>
<constant>GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS</constant>
is returned if any framebuffer attachment is
layered, and any populated attachment is not
layered, or if all populated color attachments are
not from textures of the same target.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Additionally, if an error occurs, zero is returned.
</para>
</refsect1>
<refsect1 xml:id="errors"><title>Errors</title>
<para>
<constant>GL_INVALID_ENUM</constant> is generated if
<parameter>target</parameter> is not
<constant>GL_DRAW_FRAMEBUFFER</constant>,
<constant>GL_READ_FRAMEBUFFER</constant> or
<constant>GL_FRAMEBUFFER</constant>.
</para>
<para>
<constant>GL_INVALID_OPERATION</constant> is generated by
<function>glCheckNamedFramebufferStatus</function> if
<parameter>framebuffer</parameter> is not zero or the name of an
existing framebuffer object.
</para>
</refsect1>
<refsect1 xml:id="versions"><title>Version Support</title>
<informaltable>
<tgroup cols="13" align="left">
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apifunchead.xml" xpointer="xpointer(/*/*)"/>
<tbody>
<row>
<entry><function>glCheckFramebufferStatus</function></entry>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='30']/*)"/>
</row>
<row>
<entry><function>glCheckNamedFramebufferStatus</function></entry>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='45']/*)"/>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 xml:id="seealso"><title>See Also</title>
<para>
<citerefentry><refentrytitle>glGenFramebuffers</refentrytitle></citerefentry>,
<citerefentry><refentrytitle>glDeleteFramebuffers</refentrytitle></citerefentry>
<citerefentry><refentrytitle>glBindFramebuffer</refentrytitle></citerefentry>
</para>
</refsect1>
<refsect1 xml:id="Copyright"><title>Copyright</title>
<para>
Copyright <trademark class="copyright"/> 2010-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.
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://opencontent.org/openpub/">http://opencontent.org/openpub/</link>.
</para>
</refsect1>
</refentry>
|