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>glDrawElements</title> 8 </head> 9 <body> 10<h1>glDrawElements Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14GL_APICALL void GL_APIENTRY glDrawElements( 15 GLenum mode, 16 GLsizei count, 17 GLenum type, 18 const void * indices 19); 20</pre> 21 </div> 22<h2>Arguments</h2> 23 <div class="section"> 24 <table class="arguments"> 25 <thead> 26 <tr> 27 <td width="15" /> 28<th>Name</th> 29<td>Description</td> 30 </tr> 31 </thead> 32 <tr> 33<td>in</td> 34<th>mode</th> 35<td>Primitive mode</td> 36 </tr> 37 <tr> 38<td>in</td> 39<th>count</th> 40<td>Amount of vertex data to render</td> 41 </tr> 42 <tr> 43<td>in</td> 44<th>type</th> 45<td>Data type for the vertex indices</td> 46 </tr> 47 <tr> 48<td>in</td> 49<th>indices</th> 50<td>Pointer to a vertex index, or offset to the region to start using within the vertex indices</td> 51 </tr> </table> 52 </div> 53<h2>Return Values</h2> 54<div class="section">No values are returned. </div> 55<h2>Description</h2> 56 <div class="section"> 57<p>Uses vertex indices to render primitives.</p><P> 58Uses a vertex index array to access an array of vertex data. Set <span class="argument">mode</span> to one of the following values when the geometry shader is not in use. 59<TABLE><TR><TH>GL_TRIANGLES</TH><TD> Triangles</TD></TR><TR><TH>GL_TRIANGLE_STRIP</TH><TD> Triangle strip</TD></TR><TR><TH>GL_TRIANGLE_FAN</TH><TD> Triangle fan </TD></TR></TABLE><!-- source modeにはジオメトリシェーダを使用しない場合、GL_TRIANGLES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FANのいずれかを指定します。 --></P><P> 60Specify a value of <code>GL_GEOMETRY_PRIMITIVE_DMP</code> when the geometry shader is in use. 61 </P><P> 62Set <span class="argument">type</span> to the type of the vertex index array. Specify a value of <code>GL_UNSIGNED_BYTE</code> or <code>GL_UNSIGNED_SHORT</code>. 63 </P><P> 64When vertex buffer objects are not in use, set <span class="argument">indices</span> with a pointer to the vertex indices. When vertex buffer objects are in use, set <span class="argument">indices</span> with the offset to the region to start using within the vertex indices. 65 </P><P> 66This function generates the following errors. 67<TABLE><TR><TH>GL_INVALID_ENUM</TH><TD>The <span class="argument">mode</span> or <span class="argument">type</span> argument was set to an invalid value.</TD></TR><TR><TH>GL_INVALID_FRAMEBUFFER_OPERATION</TH><TD>The framebuffer was configured incorrectly.</TD></TR><TR><TH>GL_INVALID_OPERATION</TH><TD>This function was called without any command-list objects bound.</TD></TR><TR><TH>GL_INVALID_OPERATION</TH><TD>The <span class="argument">mode</span> argument was either set to <code>GL_GEOMETRY_PRIMITIVE_DMP</code> when a geometry shader had <I>not</I> been linked to the current program, or it was set to a value other than <code>GL_GEOMETRY_PRIMITIVE_DMP</code> when a geometry shader <I>had</I> been linked to the current program.</TD></TR></TABLE><!-- source 描画に使用する有効な頂点属性アレイと頂点インデックスのうち、頂点バッファオブジェクトを使用するものと使用しないものを混在させた状態で 描画しようとすると、GL_INVALID_OPERATIONを生成します。 mode、typeに不正な値を指定した場合エラーGL_INVALID_ENUMを生成します。 フレームバッファの設定が正しく行われていない場合エラーGL_INVALID_FRAMEBUFFER_OPERATIONを生成します。 コマンドリストオブジェクトをバインドしていない状態で呼び出すとエラーGL_INVALID_OPERATIONを生成します。 カレントのプログラムにジオメトリシェーダがリンクされていない状態でmodeにGL_GEOMETRY_PRIMITIVE_DMPを指定した場合、および カレントのプログラムにジオメトリシェーダがリンクされた状態でmodeにGL_GEOMETRY_PRIMITIVE_DMP以外を指定した場合エラーGL_INVALID_OPERATIONを生成します。 --></P></div> 68<h2>Revision History</h2> 69 <div class="section"> 70 <dl class="history"> 71 <dt>2010/01/07</dt> 72<dd>Initial version.<br /> 73 </dd> 74 </dl> 75 </div> 76 <hr><p>CONFIDENTIAL</p></body> 77</html>