1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
3 <!-- saved from url=(0013)about:internet -->
4 <?xml-stylesheet type=
"text/xsl" href=
"mathml.xsl"?><html xmlns=
"http://www.w3.org/1999/xhtml" xmlns:
pref=
"http://www.w3.org/2002/Math/preference" pref:
renderer=
"mathplayer-dl"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><link rel=
"stylesheet" type=
"text/css" href=
"opengl-man.css" /><title>glBindBufferRange - OpenGL
4 Reference Pages
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.69.1" /></head><body><div class=
"refentry" lang=
"en" xml:
lang=
"en"><a id=
"glBindBufferRange"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>glBindBufferRange — bind a range within a buffer object to an indexed buffer target
</p></div><div class=
"refsynopsisdiv"><h2>C Specification
</h2><div class=
"funcsynopsis"><table border=
"0" summary=
"Function synopsis" cellspacing=
"0" cellpadding=
"0"><tr><td><code class=
"funcdef">void
<b class=
"fsfunc">glBindBufferRange
</b>(
</code></td><td>GLenum
</td><td><var class=
"pdparam">target
</var>,
</td></tr><tr><td> </td><td>GLuint
</td><td><var class=
"pdparam">index
</var>,
</td></tr><tr><td> </td><td>GLuint
</td><td><var class=
"pdparam">buffer
</var>,
</td></tr><tr><td> </td><td>GLintptr
</td><td><var class=
"pdparam">offset
</var>,
</td></tr><tr><td> </td><td>GLsizeiptr
</td><td><var class=
"pdparam">size
</var><code>)
</code>;
</td></tr></table></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"parameters"></a><h2>Parameters
</h2><div class=
"variablelist"><dl><dt><span class=
"term"><em class=
"parameter"><code>target
</code></em></span></dt><dd><p>
5 Specify the target of the bind operation.
<em class=
"parameter"><code>target
</code></em> must be
6 one of
<code class=
"constant">GL_ATOMIC_COUNTER_BUFFER
</code>,
7 <code class=
"constant">GL_TRANSFORM_FEEDBACK_BUFFER
</code>,
<code class=
"constant">GL_UNIFORM_BUFFER
</code>,
8 or
<code class=
"constant">GL_SHADER_STORAGE_BUFFER
</code>.
9 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>index
</code></em></span></dt><dd><p>
10 Specify the index of the binding point within the array specified by
<em class=
"parameter"><code>target
</code></em>.
11 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>buffer
</code></em></span></dt><dd><p>
12 The name of a buffer object to bind to the specified binding point.
13 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>offset
</code></em></span></dt><dd><p>
14 The starting offset in basic machine units into the buffer object
<em class=
"parameter"><code>buffer
</code></em>.
15 </p></dd><dt><span class=
"term"><em class=
"parameter"><code>size
</code></em></span></dt><dd><p>
16 The amount of data in machine units that can be read from the buffet object while used as an indexed target.
17 </p></dd></dl></div></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"description"></a><h2>Description
</h2><p>
18 <code class=
"function">glBindBufferRange
</code> binds a range the buffer object
<em class=
"parameter"><code>buffer
</code></em>
19 represented by
<em class=
"parameter"><code>offset
</code></em> and
<em class=
"parameter"><code>size
</code></em> to the
20 binding point at index
<em class=
"parameter"><code>index
</code></em> of the array of targets specified by
<em class=
"parameter"><code>target
</code></em>.
21 Each
<em class=
"parameter"><code>target
</code></em> represents an indexed array of buffer binding points, as well
22 as a single general binding point that can be used by other buffer manipulation functions such as
23 <a href=
"glBindBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBindBuffer
</span></span></a> or
24 <a href=
"glMapBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glMapBuffer
</span></span></a>. In addition to binding
25 a range of
<em class=
"parameter"><code>buffer
</code></em> to the indexed buffer binding target,
<code class=
"function">glBindBufferRange
</code>
26 also binds the range to the generic buffer binding point specified by
<em class=
"parameter"><code>target
</code></em>.
28 <em class=
"parameter"><code>offset
</code></em> specifies the offset in basic machine units into the buffer object
29 <em class=
"parameter"><code>buffer
</code></em> and
<em class=
"parameter"><code>size
</code></em> specifies the amount of data that
30 can be read from the buffer object while used as an indexed target.
31 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"notes"></a><h2>Notes
</h2><p>
32 The
<code class=
"constant">GL_ATOMIC_COUNTER_BUFER
</code> target is available only if the GL version is
4.2 or greater.
34 The
<code class=
"constant">GL_SHADER_STORAGE_BUFFER
</code> target is available only if the GL version is
4.3 or greater.
35 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"errors"></a><h2>Errors
</h2><p>
36 <code class=
"constant">GL_INVALID_ENUM
</code> is generated if
<em class=
"parameter"><code>target
</code></em> is not
37 one of
<code class=
"constant">GL_ATOMIC_COUNTER_BUFFER
</code>,
38 <code class=
"constant">GL_TRANSFORM_FEEDBACK_BUFFER
</code>,
<code class=
"constant">GL_UNIFORM_BUFFER
</code> or
39 <code class=
"constant">GL_SHADER_STORAGE_BUFFER
</code>.
41 <code class=
"constant">GL_INVALID_VALUE
</code> is generated if
<em class=
"parameter"><code>index
</code></em> is greater
42 than or equal to the number of
<em class=
"parameter"><code>target
</code></em>-specific indexed binding points.
44 <code class=
"constant">GL_INVALID_VALUE
</code> is generated if
<em class=
"parameter"><code>size
</code></em> is less than
45 or equal to zero, or if
<em class=
"parameter"><code>offset
</code></em> +
<em class=
"parameter"><code>size
</code></em> is greater
46 than the value of
<code class=
"constant">GL_BUFFER_SIZE
</code>.
48 Additional errors may be generated if
<em class=
"parameter"><code>offset
</code></em> violates any
49 <em class=
"parameter"><code>target
</code></em>-specific alignmemt restrictions.
50 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"seealso"></a><h2>See Also
</h2><p>
51 <a href=
"glGenBuffers.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glGenBuffers
</span></span></a>,
52 <a href=
"glDeleteBuffers.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glDeleteBuffers
</span></span></a>,
53 <a href=
"glBindBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBindBuffer
</span></span></a>,
54 <a href=
"glBindBufferBase.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glBindBufferBase
</span></span></a>,
55 <a href=
"glMapBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glMapBuffer
</span></span></a>,
56 <a href=
"glUnmapBuffer.xml"><span class=
"citerefentry"><span class=
"refentrytitle">glUnmapBuffer
</span></span></a>,
57 </p></div><div class=
"refsect1" lang=
"en" xml:
lang=
"en"><a id=
"Copyright"></a><h2>Copyright
</h2><p>
58 Copyright
<span class=
"trademark"></span>©
2010-
2011 Khronos Group.
59 This material may be distributed subject to the terms and conditions set forth in
60 the Open Publication License, v
1.0,
8 June
1999.
61 <a href=
"http://opencontent.org/openpub/" target=
"_top">http://opencontent.org/openpub/
</a>.
62 </p></div></div></body></html>