1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../css/manpage.css" type="text/css" />
7<title>glBindBuffer</title>
8  </head>
9  <body>
10<h1>glBindBuffer Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14GL_APICALL void GL_APIENTRY glBindBuffer(
15     GLenum target,
16     GLuint buffer
17);
18</pre>
19    </div>
20<h2>Arguments</h2>
21    <div class="section">
22      <table class="arguments">
23        <thead>
24          <tr>
25            <td width="15" />
26<th>Name</th>
27<td>Description</td>
28          </tr>
29        </thead>
30        <tr>
31<td>in</td>
32<th>target</th>
33<td>Bind target</td>
34        </tr>
35        <tr>
36<td>in</td>
37<th>buffer</th>
38<td>Vertex buffer object.</td>
39        </tr> </table>
40    </div>
41<h2>Return Values</h2>
42<div class="section">No values are returned. </div>
43<h2>Description</h2>
44    <div class="section">
45<p>Binds a vertex buffer object to the current bind target.</p><P>
46Set <span class="argument">target</span> to the following values.
47<TABLE><TR><TH>GL_ARRAY_BUFFER</TH><TD>Vertex buffer</TD></TR><TR><TH>GL_ELEMENT_ARRAY_BUFFER</TH><TD>Index buffer</TD></TR><TR><TH>GL_VERTEX_STATE_COLLECTION_DMP</TH><TD>Vertex state collection</TD></TR></TABLE><!-- source                      targetにはGL_ARRAY_BUFFER、GL_ELEMENT_ARRAY_BUFFER、GL_VERTEX_STATE_COLLECTION_DMPを指定します。                 --></P><P>
48Set <span class="argument">bugger</span> to a vertex buffer object generated by the <code>glGenBuffers</code> function. If you specify a nonexistent vertex buffer object, a new vertex buffer object of that name is created simultaneously.
49            </P><P>
50A value of <code>GL_VERTEX_STATE_COLLECTION_DMP</code> indicates a vertex state collection; this feature is used to pack settings for vertex buffers and vertex attributes. Once you bind an object to <code>GL_VERTEX_STATE_COLLECTION_DMP</code>, function settings are associated with that object during future calls to <code>glBindBuffer</code>, <code>glVertexAttribPointer</code>, <code>glEnableVertexAttribArray</code>, <code>glDisableVertexAttribArray</code>, and <code>glVertexAttrib{1234}{fv}</code>. By binding a vertex state collection object, you can restore these associated settings all at once.
51            </P><P>
52This function generates the following errors.
53<TABLE><TR><TH>GL_OUT_OF_MEMORY</TH><TD>Failed to allocate the management region.</TD></TR><TR><TH>GL_INVALID_ENUM</TH><TD>The <span class="argument">target</span> argument was set to an invalid value.</TD></TR><TR><TH>GL_INVALID_OPERATION</TH><TD>Already bound to a bind target of a different type.</TD></TR></TABLE><!-- source                      管理用領域の確保に失敗した場合エラーGL_OUT_OF_MEMORYを生成します。 targetに不正な値を指定した場合エラーGL_INVALID_ENUMを生成します。異なる種類のバインドターゲットにバインドするとエラーGL_INVALID_OPERATIONを生成します。                 --></P><P>
54A vertex state collection has a different object type than other bind targets. Once this function is called, the object type of <span class="argument">buffer</span> is fixed; it can no longer be bound to another type of bind target. A <code>GL_INVALID_OPERATION</code> error occurs when you bind an object to a bind target of a different type. Because <code>GL_ARRAY_BUFFER</code> and <code>GL_ELEMENT_ARRAY_BUFFER</code> are handled as the same type of bind target, you can bind to one of these targets and then later bind to the other.
55            </P></div>
56<h2>Revision History</h2>
57    <div class="section">
58      <dl class="history">
59        <dt>2010/01/07</dt>
60<dd>Initial version.<br />
61        </dd>
62      </dl>
63    </div>
64  <hr><p>CONFIDENTIAL</p></body>
65</html>