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>Parameters</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">buffer</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>