rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man4 / glTexBufferRange.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="glTexBufferRange">\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>glTexBufferRange</refentrytitle>\r
13 <manvolnum>3G</manvolnum>\r
14 </refmeta>\r
15 <refnamediv>\r
16 <refname>glTexBufferRange</refname>\r
17 <refpurpose>bind a range of a buffer's data store to a buffer texture</refpurpose>\r
18 </refnamediv>\r
19 <refsynopsisdiv><title>C Specification</title>\r
20 <funcsynopsis>\r
21 <funcprototype>\r
22 <funcdef>void <function>glTexBufferRange</function></funcdef>\r
23 <paramdef>GLenum <parameter>target</parameter></paramdef>\r
24 <paramdef>GLenum <parameter>internalFormat</parameter></paramdef>\r
25 <paramdef>GLuint <parameter>buffer</parameter></paramdef>\r
26 <paramdef>GLintptr <parameter>offset</parameter></paramdef>\r
27 <paramdef>GLsizeiptr <parameter>size</parameter></paramdef>\r
28 </funcprototype>\r
29 </funcsynopsis>\r
30 </refsynopsisdiv>\r
31 <refsect1 id="parameters"><title>Parameters</title>\r
32 <variablelist>\r
33 <varlistentry>\r
34 <term><parameter>target</parameter></term>\r
35 <listitem>\r
36 <para>\r
37 Specifies the target of the operation and must be <constant>GL_TEXTURE_BUFFER</constant>.\r
38 </para>\r
39 </listitem>\r
40 </varlistentry>\r
41 <varlistentry>\r
42 <term><parameter>internalFormat</parameter></term>\r
43 <listitem>\r
44 <para>\r
45 Specifies the internal format of the data in the store belonging to <parameter>buffer</parameter>.\r
46 </para>\r
47 </listitem>\r
48 </varlistentry>\r
49 <varlistentry>\r
50 <term><parameter>buffer</parameter></term>\r
51 <listitem>\r
52 <para>\r
53 Specifies the name of the buffer object whose storage to attach to the active buffer texture.\r
54 </para>\r
55 </listitem>\r
56 </varlistentry>\r
57 <varlistentry>\r
58 <term><parameter>offset</parameter></term>\r
59 <listitem>\r
60 <para>\r
61 Specifies the offset of the start of the range of the buffer's data store to attach.\r
62 </para>\r
63 </listitem>\r
64 </varlistentry>\r
65 <varlistentry>\r
66 <term><parameter>size</parameter></term>\r
67 <listitem>\r
68 <para>\r
69 Specifies the size of the range of the buffer's data store to attach.\r
70 </para>\r
71 </listitem>\r
72 </varlistentry>\r
73 </variablelist>\r
74 </refsect1>\r
75 <refsect1 id="description"><title>Description</title>\r
76 <para>\r
77 <function>glTexBufferRange</function> attaches the a range of the data store of the buffer object named <parameter>buffer</parameter> to the active\r
78 buffer texture, and specifies the internal format for the texel array found in the attached buffer object. If <parameter>buffer</parameter>\r
79 is zero, any buffer object attached to the buffer texture is detached and no new buffer object is attached. If <parameter>buffer</parameter>\r
80 is non-zero, it must be the name of an existing buffer object. <parameter>target</parameter> must be <constant>GL_TEXTURE_BUFFER</constant>.\r
81 The start of the range is specified by <parameter>offset</parameter> and the size of the range is specified by <parameter>size</parameter>,\r
82 both measured in basic machine units. <parameter>offset</parameter> must be greater than or equal to zero, <parameter>size</parameter> must be greater\r
83 than zero, and the sum of <parameter>offset</parameter> and <parameter>size</parameter> not exceed the value\r
84 of <constant>GL_BUFFER_SIZE</constant> for <parameter>buffer</parameter>. Furthermore, <parameter>offset</parameter> must be\r
85 an integer multiple of the value of <constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant>.\r
86 <parameter>internalformat</parameter> specifies the storage format, and must be one of the following sized internal formats:\r
87 </para>\r
88 <informaltable frame="topbot">\r
89 <tgroup cols="8" align="left">\r
90 <colspec colnum="1" colname="col1" colwidth="1*"/>\r
91 <colspec colnum="2" colname="col2" colwidth="2*"/>\r
92 <colspec colnum="3" colname="col3" colwidth="1.5*"/>\r
93 <colspec colnum="4" colname="col4" colwidth="1*"/>\r
94 <colspec colnum="5" colname="col5" colwidth="1*"/>\r
95 <colspec colnum="6" colname="col6" colwidth="2*"/>\r
96 <colspec colnum="7" colname="col7" colwidth="1.5*"/>\r
97 <colspec colnum="8" colname="col8" colwidth="1*"/>\r
98 <thead>\r
99 <row>\r
100 <entry morerows="1" rowsep="1" align="center"></entry>\r
101 <entry morerows="1" rowsep="1" align="center"></entry>\r
102 <entry morerows="1" rowsep="1" align="center"></entry>\r
103 <entry morerows="1" rowsep="1" align="center"></entry>\r
104 <entry namest="col5" nameend="col8" rowsep="1" align="left"><emphasis role="bold">\r
105 Component\r
106 </emphasis></entry>\r
107 </row>\r
108 </thead>\r
109 <tbody>\r
110 <row>\r
111 <entry align="left"><emphasis role="bold">Sized Internal Format</emphasis></entry>\r
112 <entry align="left"><emphasis role="bold">Base Type</emphasis></entry>\r
113 <entry align="left"><emphasis role="bold">Components</emphasis></entry>\r
114 <entry align="left"><emphasis role="bold">Norm</emphasis></entry>\r
115 <entry align="center">0</entry>\r
116 <entry align="center">1</entry>\r
117 <entry align="center">2</entry>\r
118 <entry align="center">3</entry>\r
119 </row>\r
120 <row>\r
121 <entry align="left"><constant>GL_R8</constant></entry>\r
122 <entry align="left">ubyte</entry>\r
123 <entry align="left">1</entry>\r
124 <entry align="left">YES</entry>\r
125 <entry align="center">R</entry>\r
126 <entry align="center">0</entry>\r
127 <entry align="center">0</entry>\r
128 <entry align="center">1</entry>\r
129 </row>\r
130 <row>\r
131 <entry align="left"><constant>GL_R16</constant></entry>\r
132 <entry align="left">ushort</entry>\r
133 <entry align="left">1</entry>\r
134 <entry align="left">YES</entry>\r
135 <entry align="center">R</entry>\r
136 <entry align="center">0</entry>\r
137 <entry align="center">0</entry>\r
138 <entry align="center">1</entry>\r
139 </row>\r
140 <row>\r
141 <entry align="left"><constant>GL_R16F</constant></entry>\r
142 <entry align="left">half</entry>\r
143 <entry align="left">1</entry>\r
144 <entry align="left">NO</entry>\r
145 <entry align="center">R</entry>\r
146 <entry align="center">0</entry>\r
147 <entry align="center">0</entry>\r
148 <entry align="center">1</entry>\r
149 </row>\r
150 <row>\r
151 <entry align="left"><constant>GL_R32F</constant></entry>\r
152 <entry align="left">float</entry>\r
153 <entry align="left">1</entry>\r
154 <entry align="left">NO</entry>\r
155 <entry align="center">R</entry>\r
156 <entry align="center">0</entry>\r
157 <entry align="center">0</entry>\r
158 <entry align="center">1</entry>\r
159 </row>\r
160 <row>\r
161 <entry align="left"><constant>GL_R8I</constant></entry>\r
162 <entry align="left">byte</entry>\r
163 <entry align="left">1</entry>\r
164 <entry align="left">NO</entry>\r
165 <entry align="center">R</entry>\r
166 <entry align="center">0</entry>\r
167 <entry align="center">0</entry>\r
168 <entry align="center">1</entry>\r
169 </row>\r
170 <row>\r
171 <entry align="left"><constant>GL_R16I</constant></entry>\r
172 <entry align="left">short</entry>\r
173 <entry align="left">1</entry>\r
174 <entry align="left">NO</entry>\r
175 <entry align="center">R</entry>\r
176 <entry align="center">0</entry>\r
177 <entry align="center">0</entry>\r
178 <entry align="center">1</entry>\r
179 </row>\r
180 <row>\r
181 <entry align="left"><constant>GL_R32I</constant></entry>\r
182 <entry align="left">int</entry>\r
183 <entry align="left">1</entry>\r
184 <entry align="left">NO</entry>\r
185 <entry align="center">R</entry>\r
186 <entry align="center">0</entry>\r
187 <entry align="center">0</entry>\r
188 <entry align="center">1</entry>\r
189 </row>\r
190 <row>\r
191 <entry align="left"><constant>GL_R8UI</constant></entry>\r
192 <entry align="left">ubyte</entry>\r
193 <entry align="left">1</entry>\r
194 <entry align="left">NO</entry>\r
195 <entry align="center">R</entry>\r
196 <entry align="center">0</entry>\r
197 <entry align="center">0</entry>\r
198 <entry align="center">1</entry>\r
199 </row>\r
200 <row>\r
201 <entry align="left"><constant>GL_R16UI</constant></entry>\r
202 <entry align="left">ushort</entry>\r
203 <entry align="left">1</entry>\r
204 <entry align="left">NO</entry>\r
205 <entry align="center">R</entry>\r
206 <entry align="center">0</entry>\r
207 <entry align="center">0</entry>\r
208 <entry align="center">1</entry>\r
209 </row>\r
210 <row>\r
211 <entry align="left"><constant>GL_R32UI</constant></entry>\r
212 <entry align="left">uint</entry>\r
213 <entry align="left">1</entry>\r
214 <entry align="left">NO</entry>\r
215 <entry align="center">R</entry>\r
216 <entry align="center">0</entry>\r
217 <entry align="center">0</entry>\r
218 <entry align="center">1</entry>\r
219 </row>\r
220 <row>\r
221 <entry align="left"><constant>GL_RG8</constant></entry>\r
222 <entry align="left">ubyte</entry>\r
223 <entry align="left">2</entry>\r
224 <entry align="left">YES</entry>\r
225 <entry align="center">R</entry>\r
226 <entry align="center">G</entry>\r
227 <entry align="center">0</entry>\r
228 <entry align="center">1</entry>\r
229 </row>\r
230 <row>\r
231 <entry align="left"><constant>GL_RG16</constant></entry>\r
232 <entry align="left">ushort</entry>\r
233 <entry align="left">2</entry>\r
234 <entry align="left">YES</entry>\r
235 <entry align="center">R</entry>\r
236 <entry align="center">G</entry>\r
237 <entry align="center">0</entry>\r
238 <entry align="center">1</entry>\r
239 </row>\r
240 <row>\r
241 <entry align="left"><constant>GL_RG16F</constant></entry>\r
242 <entry align="left">half</entry>\r
243 <entry align="left">2</entry>\r
244 <entry align="left">NO</entry>\r
245 <entry align="center">R</entry>\r
246 <entry align="center">G</entry>\r
247 <entry align="center">0</entry>\r
248 <entry align="center">1</entry>\r
249 </row>\r
250 <row>\r
251 <entry align="left"><constant>GL_RG32F</constant></entry>\r
252 <entry align="left">float</entry>\r
253 <entry align="left">2</entry>\r
254 <entry align="left">NO</entry>\r
255 <entry align="center">R</entry>\r
256 <entry align="center">G</entry>\r
257 <entry align="center">0</entry>\r
258 <entry align="center">1</entry>\r
259 </row>\r
260 <row>\r
261 <entry align="left"><constant>GL_RG8I</constant></entry>\r
262 <entry align="left">byte</entry>\r
263 <entry align="left">2</entry>\r
264 <entry align="left">NO</entry>\r
265 <entry align="center">R</entry>\r
266 <entry align="center">G</entry>\r
267 <entry align="center">0</entry>\r
268 <entry align="center">1</entry>\r
269 </row>\r
270 <row>\r
271 <entry align="left"><constant>GL_RG16I</constant></entry>\r
272 <entry align="left">short</entry>\r
273 <entry align="left">2</entry>\r
274 <entry align="left">NO</entry>\r
275 <entry align="center">R</entry>\r
276 <entry align="center">G</entry>\r
277 <entry align="center">0</entry>\r
278 <entry align="center">1</entry>\r
279 </row>\r
280 <row>\r
281 <entry align="left"><constant>GL_RG32I</constant></entry>\r
282 <entry align="left">int</entry>\r
283 <entry align="left">2</entry>\r
284 <entry align="left">NO</entry>\r
285 <entry align="center">R</entry>\r
286 <entry align="center">G</entry>\r
287 <entry align="center">0</entry>\r
288 <entry align="center">1</entry>\r
289 </row>\r
290 <row>\r
291 <entry align="left"><constant>GL_RG8UI</constant></entry>\r
292 <entry align="left">ubyte</entry>\r
293 <entry align="left">2</entry>\r
294 <entry align="left">NO</entry>\r
295 <entry align="center">R</entry>\r
296 <entry align="center">G</entry>\r
297 <entry align="center">0</entry>\r
298 <entry align="center">1</entry>\r
299 </row>\r
300 <row>\r
301 <entry align="left"><constant>GL_RG16UI</constant></entry>\r
302 <entry align="left">ushort</entry>\r
303 <entry align="left">2</entry>\r
304 <entry align="left">NO</entry>\r
305 <entry align="center">R</entry>\r
306 <entry align="center">G</entry>\r
307 <entry align="center">0</entry>\r
308 <entry align="center">1</entry>\r
309 </row>\r
310 <row>\r
311 <entry align="left"><constant>GL_RG32UI</constant></entry>\r
312 <entry align="left">uint</entry>\r
313 <entry align="left">2</entry>\r
314 <entry align="left">NO</entry>\r
315 <entry align="center">R</entry>\r
316 <entry align="center">G</entry>\r
317 <entry align="center">0</entry>\r
318 <entry align="center">1</entry>\r
319 </row>\r
320 <row>\r
321 <entry align="left"><constant>GL_RGB32F</constant></entry>\r
322 <entry align="left">float</entry>\r
323 <entry align="left">3</entry>\r
324 <entry align="left">NO</entry>\r
325 <entry align="center">R</entry>\r
326 <entry align="center">G</entry>\r
327 <entry align="center">B</entry>\r
328 <entry align="center">1</entry>\r
329 </row>\r
330 <row>\r
331 <entry align="left"><constant>GL_RGB32I</constant></entry>\r
332 <entry align="left">int</entry>\r
333 <entry align="left">3</entry>\r
334 <entry align="left">NO</entry>\r
335 <entry align="center">R</entry>\r
336 <entry align="center">G</entry>\r
337 <entry align="center">B</entry>\r
338 <entry align="center">1</entry>\r
339 </row>\r
340 <row>\r
341 <entry align="left"><constant>GL_RGB32UI</constant></entry>\r
342 <entry align="left">uint</entry>\r
343 <entry align="left">3</entry>\r
344 <entry align="left">NO</entry>\r
345 <entry align="center">R</entry>\r
346 <entry align="center">G</entry>\r
347 <entry align="center">B</entry>\r
348 <entry align="center">1</entry>\r
349 </row>\r
350 <row>\r
351 <entry align="left"><constant>GL_RGBA8</constant></entry>\r
352 <entry align="left">uint</entry>\r
353 <entry align="left">4</entry>\r
354 <entry align="left">YES</entry>\r
355 <entry align="center">R</entry>\r
356 <entry align="center">G</entry>\r
357 <entry align="center">B</entry>\r
358 <entry align="center">A</entry>\r
359 </row>\r
360 <row>\r
361 <entry align="left"><constant>GL_RGBA16</constant></entry>\r
362 <entry align="left">short</entry>\r
363 <entry align="left">4</entry>\r
364 <entry align="left">YES</entry>\r
365 <entry align="center">R</entry>\r
366 <entry align="center">G</entry>\r
367 <entry align="center">B</entry>\r
368 <entry align="center">A</entry>\r
369 </row>\r
370 <row>\r
371 <entry align="left"><constant>GL_RGBA16F</constant></entry>\r
372 <entry align="left">half</entry>\r
373 <entry align="left">4</entry>\r
374 <entry align="left">NO</entry>\r
375 <entry align="center">R</entry>\r
376 <entry align="center">G</entry>\r
377 <entry align="center">B</entry>\r
378 <entry align="center">A</entry>\r
379 </row>\r
380 <row>\r
381 <entry align="left"><constant>GL_RGBA32F</constant></entry>\r
382 <entry align="left">float</entry>\r
383 <entry align="left">4</entry>\r
384 <entry align="left">NO</entry>\r
385 <entry align="center">R</entry>\r
386 <entry align="center">G</entry>\r
387 <entry align="center">B</entry>\r
388 <entry align="center">A</entry>\r
389 </row>\r
390 <row>\r
391 <entry align="left"><constant>GL_RGBA8I</constant></entry>\r
392 <entry align="left">byte</entry>\r
393 <entry align="left">4</entry>\r
394 <entry align="left">NO</entry>\r
395 <entry align="center">R</entry>\r
396 <entry align="center">G</entry>\r
397 <entry align="center">B</entry>\r
398 <entry align="center">A</entry>\r
399 </row>\r
400 <row>\r
401 <entry align="left"><constant>GL_RGBA16I</constant></entry>\r
402 <entry align="left">short</entry>\r
403 <entry align="left">4</entry>\r
404 <entry align="left">NO</entry>\r
405 <entry align="center">R</entry>\r
406 <entry align="center">G</entry>\r
407 <entry align="center">B</entry>\r
408 <entry align="center">A</entry>\r
409 </row>\r
410 <row>\r
411 <entry align="left"><constant>GL_RGBA32I</constant></entry>\r
412 <entry align="left">int</entry>\r
413 <entry align="left">4</entry>\r
414 <entry align="left">NO</entry>\r
415 <entry align="center">R</entry>\r
416 <entry align="center">G</entry>\r
417 <entry align="center">B</entry>\r
418 <entry align="center">A</entry>\r
419 </row>\r
420 <row>\r
421 <entry align="left"><constant>GL_RGBA8UI</constant></entry>\r
422 <entry align="left">ubyte</entry>\r
423 <entry align="left">4</entry>\r
424 <entry align="left">NO</entry>\r
425 <entry align="center">R</entry>\r
426 <entry align="center">G</entry>\r
427 <entry align="center">B</entry>\r
428 <entry align="center">A</entry>\r
429 </row>\r
430 <row>\r
431 <entry align="left"><constant>GL_RGBA16UI</constant></entry>\r
432 <entry align="left">ushort</entry>\r
433 <entry align="left">4</entry>\r
434 <entry align="left">NO</entry>\r
435 <entry align="center">R</entry>\r
436 <entry align="center">G</entry>\r
437 <entry align="center">B</entry>\r
438 <entry align="center">A</entry>\r
439 </row>\r
440 <row>\r
441 <entry align="left"><constant>GL_RGBA32UI</constant></entry>\r
442 <entry align="left">uint</entry>\r
443 <entry align="left">4</entry>\r
444 <entry align="left">NO</entry>\r
445 <entry align="center">R</entry>\r
446 <entry align="center">G</entry>\r
447 <entry align="center">B</entry>\r
448 <entry align="center">A</entry>\r
449 </row>\r
450 </tbody>\r
451 </tgroup>\r
452 </informaltable>\r
453 </refsect1>\r
454 <refsect1 id="errors"><title>Errors</title>\r
455 <para>\r
456 <constant>GL_INVALID_ENUM</constant> is generated if <parameter>target</parameter> is not\r
457 <constant>GL_TEXTURE_BUFFER</constant>.\r
458 </para>\r
459 <para>\r
460 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> is less than zero.\r
461 </para>\r
462 <para>\r
463 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>size</parameter> is less than or equal to zero.\r
464 </para>\r
465 <para>\r
466 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> + <parameter>size</parameter> is\r
467 greater than the value of <constant>GL_BUFFER_SIZE</constant> for <parameter>buffer</parameter>.\r
468 </para>\r
469 <para>\r
470 <constant>GL_INVALID_VALUE</constant> is generated if <parameter>offset</parameter> is not\r
471 an integer multiple of the value of <constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant>.\r
472 </para>\r
473 </refsect1>\r
474 <refsect1 id="associatedgets"><title>Associated Gets</title>\r
475 <para>\r
476 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT</constant>\r
477 </para>\r
478 <para>\r
479 <citerefentry><refentrytitle>glGetTexLevelParameter</refentrytitle></citerefentry> with arguments <constant>GL_TEXTURE_BUFFER_OFFSET</constant>\r
480 or <constant>GL_TEXTURE_BUFFER_SIZE</constant>.\r
481 </para>\r
482 </refsect1>\r
483 <refsect1 id="seealso"><title>See Also</title>\r
484 <para>\r
485 <citerefentry><refentrytitle>glTexBuffer</refentrytitle></citerefentry>.\r
486 </para>\r
487 </refsect1>\r
488 <refsect1 id="Copyright"><title>Copyright</title>\r
489 <para>\r
490 Copyright <trademark class="copyright"></trademark> 2012 Khronos Group. \r
491 This material may be distributed subject to the terms and conditions set forth in \r
492 the Open Publication License, v 1.0, 8 June 1999.\r
493 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.\r
494 </para>\r
495 </refsect1>\r
496</refentry>\r