rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / glInvalidateFramebuffer.xml
CommitLineData
7faf1d71
AW
1<?xml version="1.0" encoding="UTF-8"?>\r
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"\r
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">\r
4<refentry id="glInvalidateFramebuffer">\r
5 <refmeta>\r
6 <refmetainfo>\r
7 <copyright>\r
8 <year>2012</year>\r
9 <holder>Khronos Group</holder>\r
10 </copyright>\r
11 </refmetainfo>\r
12 <refentrytitle>glInvalidateFramebuffer</refentrytitle>\r
13 <manvolnum>3G</manvolnum>\r
14 </refmeta>\r
15 <refnamediv>\r
16 <refname>glInvalidateFramebuffer</refname>\r
17 <refpurpose>invalidate the content some or all of a framebuffer object's attachments</refpurpose>\r
18 </refnamediv>\r
19 <refsynopsisdiv><title>C Specification</title>\r
20 <funcsynopsis>\r
21 <funcprototype>\r
22 <funcdef>void <function>glInvalidateFramebuffer</function></funcdef>\r
23 <paramdef>GLenum <parameter>target</parameter></paramdef>\r
24 <paramdef>GLsizei <parameter>numAttachments</parameter></paramdef>\r
25 <paramdef>const GLenum * <parameter>attachments</parameter></paramdef>\r
26 </funcprototype>\r
27 </funcsynopsis>\r
28 </refsynopsisdiv>\r
29 <refsect1 id="parameters"><title>Parameters</title>\r
30 <variablelist>\r
31 <varlistentry>\r
32 <term><parameter>target</parameter></term>\r
33 <listitem>\r
34 <para>\r
35 The target to which the framebuffer is attached. <parameter>target</parameter> must be\r
36 <constant>GL_FRAMEBUFFER</constant>, <constant>GL_DRAW_FRAMEBUFFER</constant>, or <constant>GL_READ_FRAMEBUFFER</constant>.\r
37 </para>\r
38 </listitem>\r
39 </varlistentry>\r
40 <varlistentry>\r
41 <term><parameter>numAttachments</parameter></term>\r
42 <listitem>\r
43 <para>\r
44 The number of entries in the <parameter>attachments</parameter> array.\r
45 </para>\r
46 </listitem>\r
47 </varlistentry>\r
48 <varlistentry>\r
49 <term><parameter>attachments</parameter></term>\r
50 <listitem>\r
51 <para>\r
52 The address of an array identifying the attachments to be invalidated.\r
53 </para>\r
54 </listitem>\r
55 </varlistentry>\r
56 </variablelist>\r
57 </refsect1>\r
58 <refsect1 id="description"><title>Description</title>\r
59 <para>\r
60 <function>glInvalidateFramebuffer</function> invalidates the content\r
61 of a specified set of attachments of a framebuffer. The framebuffer\r
62 whose content to invalidate is indicated by setting <parameter>target</parameter>\r
63 to the target to which it is bound. <parameter>target</parameter> may be\r
64 <constant>GL_FRAMEBUFFER</constant>, <constant>GL_READ_FRAMEBUFFER</constant> or\r
65 <constant>GL_DRAW_FRAMEBUFFER</constant>. <constant>GL_FRAMEBUFFER</constant>\r
66 is treated as if it were <constant>GL_DRAW_FRAMEBUFFER</constant>.\r
67 </para>\r
68 <para>\r
69 The set of attachments whose content to invalidate are specified in an array whose address is given\r
70 by <parameter>attachments</parameter> and which contains <parameter>numAttachments</parameter>\r
71 elements. The elements of <parameter>attachments</parameter> must be\r
72 <constant>GL_DEPTH_ATTACHMENT</constant>, <constant>GL_STENCIL_ATTACHMENT</constant>\r
73 <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant>, or <constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant>,\r
74 where <emphasis>i</emphasis> is between zero and the value of <constant>GL_MAX_FRAMEBUFFER_ATTACHMENTS</constant> minus one.\r
75 Furthermore, if the default framebuffer is bound to <parameter>target</parameter>, then\r
76 <parameter>attachments</parameter> may contain <constant>GL_FRONT_LEFT</constant>,\r
77 <constant>GL_FRONT_RIGHT</constant>, <constant>GL_BACK_LEFT</constant>, <constant>GL_BACK_RIGHT</constant>,\r
78 <constant>GL_AUX<emphasis>i</emphasis></constant>, <constant>GL_ACCUM</constant>,\r
79 <constant>GL_COLOR</constant>, <constant>GL_DEPTH</constant>, or <constant>GL_STENCIL</constant>, identifying that specific buffer.\r
80 <constant>GL_COLOR</constant>, is treated as <constant>GL_BACK_LEFT</constant> for a double-buffered context and\r
81 <constant>GL_FRONT_LEFT</constant> for a single-buffered context.\r
82 After <function>glInvalidateFramebuffer</function> is executed, the contents\r
83 of the specified attachments become undefined.\r
84 </para>\r
85 </refsect1>\r
86 <refsect1 id="errors"><title>Errors</title>\r
87 <para>\r
88 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not one of the\r
89 accepted framebuffer target tokens.\r
90 </para>\r
91 <para>\r
92 <constant>GL_INVALID_ENUM</constant> is generated if any element of <parameter>attachments</parameter> is\r
93 not one of the accepted framebuffer attachment tokens.\r
94 </para>\r
95 <para>\r
96 <constant>GL_INVALID_OPERATION</constant> is generated if element of <parameter>attachments</parameter> is\r
97 <constant>GL_COLOR_ATTACHMENT<emphasis>i</emphasis></constant> where <emphasis>i</emphasis> is greater than or equal\r
98 to the value of <constant>GL_MAX_COLOR_ATTACHMENTS</constant>.\r
99 </para>\r
100 </refsect1>\r
101 <refsect1 id="associatedgets"><title>Associated Gets</title>\r
102 <para>\r
103 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAX_COLOR_ATTACHMENTS</constant>\r
104 </para>\r
105 </refsect1>\r
106 <refsect1 id="seealso"><title>See Also</title>\r
107 <para>\r
108 <citerefentry><refentrytitle>glInvalidateTexSubImage</refentrytitle></citerefentry>,\r
109 <citerefentry><refentrytitle>glInvalidateTexImage</refentrytitle></citerefentry>,\r
110 <citerefentry><refentrytitle>glInvalidateBufferSubData</refentrytitle></citerefentry>,\r
111 <citerefentry><refentrytitle>glInvalidateBufferData</refentrytitle></citerefentry>,\r
112 <citerefentry><refentrytitle>glInvalidateSubFramebuffer</refentrytitle></citerefentry>.\r
113 </para>\r
114 </refsect1>\r
115 <refsect1 id="Copyright"><title>Copyright</title>\r
116 <para>\r
117 Copyright <trademark class="copyright"></trademark> 2012 Khronos Group. \r
118 This material may be distributed subject to the terms and conditions set forth in \r
119 the Open Publication License, v 1.0, 8 June 1999.\r
120 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.\r
121 </para>\r
122 </refsect1>\r
123</refentry>\r