File: glFramebufferRenderbuffer.xml

package info (click to toggle)
khronos-opengl-man4 1.0~svn31251-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 6,368 kB
  • ctags: 267
  • sloc: xml: 93,382; makefile: 730; python: 627; sh: 50; php: 4
file content (232 lines) | stat: -rw-r--r-- 11,167 bytes parent folder | download | duplicates (2)
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; ]>

<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="glFramebufferRenderbuffer">
    <info>
        <copyright>
            <year>2010-2014</year>
            <holder>Khronos Group</holder>
        </copyright>
    </info>
    <refmeta>
        <refentrytitle>glFramebufferRenderbuffer</refentrytitle>
        <manvolnum>3G</manvolnum>
    </refmeta>
    <refnamediv>
        <refname>glFramebufferRenderbuffer</refname>
        <refname>glNamedFramebufferRenderbuffer</refname>
        <refpurpose>attach a renderbuffer as a logical buffer of a framebuffer object</refpurpose>
    </refnamediv>
    <refsynopsisdiv><title>C Specification</title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>void <function>glFramebufferRenderbuffer</function></funcdef>
                <paramdef>GLenum <parameter>target</parameter></paramdef>
                <paramdef>GLenum <parameter>attachment</parameter></paramdef>
                <paramdef>GLenum <parameter>renderbuffertarget</parameter></paramdef>
                <paramdef>GLuint <parameter>renderbuffer</parameter></paramdef>
            </funcprototype>
            <funcprototype>
                <funcdef>void <function>glNamedFramebufferRenderbuffer</function></funcdef>
                <paramdef>GLuint <parameter>framebuffer</parameter></paramdef>
                <paramdef>GLenum <parameter>attachment</parameter></paramdef>
                <paramdef>GLenum <parameter>renderbuffertarget</parameter></paramdef>
                <paramdef>GLuint <parameter>renderbuffer</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>
    <refsect1 xml:id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><parameter>target</parameter></term>
            <listitem>
                <para>
                    Specifies the target to which the framebuffer is bound
                    for <function>glFramebufferRenderbuffer</function>.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>framebuffer</parameter></term>
            <listitem>
                <para>
                    Specifies the name of the framebuffer object for
                    <function>glNamedFramebufferRenderbuffer</function>.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>attachment</parameter></term>
            <listitem>
                <para>
                    Specifies the attachment point of the framebuffer.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>renderbuffertarget</parameter></term>
            <listitem>
                <para>
                    Specifies the renderbuffer target. Must be
                    <constant>GL_RENDERBUFFER</constant>.
                </para>
            </listitem>
        </varlistentry>
        <varlistentry>
            <term><parameter>renderbuffer</parameter></term>
            <listitem>
                <para>
                    Specifies the name of an existing renderbuffer object of
                    type <parameter>renderbuffertarget</parameter> to
                    attach.
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>
    <refsect1 xml:id="description"><title>Description</title>
        <para>
            <function>glFramebufferRenderbuffer</function> and
            <function>glNamedFramebufferRenderbuffer</function> attaches a
            renderbuffer as one of the logical buffers of the specified
            framebuffer object. Renderbuffers cannot be attached to the
            default draw and read framebuffer, so they are not valid targets
            of these commands.
        </para>
        <para>
            For <function>glFramebufferRenderbuffer</function>, 
            the framebuffer object 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>glNamedFramebufferRenderbuffer</function>,
            <parameter>framebuffer</parameter> is the name of the
            framebuffer object.
        </para>
        <para>
            <parameter>renderbuffertarget</parameter> must be
            <constant>GL_RENDERBUFFER</constant>.
        </para>
        <para>
            <parameter>renderbuffer</parameter> must be zero or the name of
            an existing renderbuffer object of type
            <parameter>renderbuffertarget</parameter>. If
            <parameter>renderbuffer</parameter> is not zero, then the
            specified renderbuffer will be used as the logical buffer
            identified by <parameter>attachment</parameter> of the specified
            framebuffer object. If <parameter>renderbuffer</parameter> is
            zero, then the value of
            <parameter>renderbuffertarget</parameter> is ignored.
        </para>
        <para>
            <parameter>attachment</parameter> specifies the logical
            attachment of the framebuffer and must be
            <constant>GL_COLOR_ATTACHMENT</constant><emphasis>i</emphasis>,
            <constant>GL_DEPTH_ATTACHMENT</constant>,
            <constant>GL_STENCIL_ATTACHMENT</constant> or
            <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant>.
            <emphasis>i</emphasis> in may range from zero to the value of
            <constant>GL_MAX_COLOR_ATTACHMENTS</constant> minus one.
            Setting <parameter>attachment</parameter> to the value
            <constant>GL_DEPTH_STENCIL_ATTACHMENT</constant> is a special
            case causing both the depth and stencil attachments of the
            specified framebuffer object to be set to
            <parameter>renderbuffer</parameter>, which should have the base
            internal format <constant>GL_DEPTH_STENCIL</constant>.
        </para>
        <para>
            The value of
            <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE</constant> for
            the specified attachment point is set to
            <constant>GL_RENDERBUFFER</constant> and the value of
            <constant>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME</constant> is
            set to <parameter>renderbuffer</parameter>. All other state
            values of specified attachment point are set to their default
            values. No change is made to the state of the renderbuuffer
            object and any previous attachment to the
            <parameter>attachment</parameter> logical buffer of the
            specified framebuffer object is broken.
        </para>
        <para>
            If <parameter>renderbuffer</parameter> is zero, these commands
            will detach the image, if any, identified by the specified
            attachment point of the specified framebuffer object. All state
            values of the attachment point are set to their default values.
        </para>
    </refsect1>
    <refsect1 xml:id="errors"><title>Errors</title>
        <para>
            <constant>GL_INVALID_ENUM</constant> is generated by
            <function>glFramebufferRenderbuffer</function> if
            <parameter>target</parameter> is not one of the accepted
            framebuffer targets.
        </para>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated by
            <function>glFramebufferRenderbuffer</function> if zero is bound
            to <parameter>target</parameter>.
        </para>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated by
            <function>glNamedFramebufferRenderbuffer</function> if
            <parameter>framebuffer</parameter> is not the name of an
            existing framebuffer object.
        </para>
        <para>
            <constant>GL_INVALID_ENUM</constant> is generated if
            <parameter>attachment</parameter> is not one of the accepted
            attachment points.
        </para>
        <para>
            <constant>GL_INVALID_ENUM</constant> is generated if
            <parameter>renderbuffertarget</parameter> is not
            <constant>GL_RENDERBUFFER</constant>.
        </para>
        <para>
            <constant>GL_INVALID_OPERATION</constant> is generated if
            <parameter>renderbuffertarget</parameter> is not zero or the
            name of an existing renderbuffer object of type
            <constant>GL_RENDERBUFFER</constant>.
        </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>glFramebufferRenderbuffer</function></entry>
                        <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="apiversion.xml" xpointer="xpointer(/*/*[@role='30']/*)"/>
                    </row>
                    <row>
                        <entry><function>glNamedFramebufferRenderbuffer</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>glBindFramebuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glGenRenderbuffers</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glFramebufferTexture</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glFramebufferTexture1D</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glFramebufferTexture2D</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>glFramebufferTexture3D</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>