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></P><P>
68Also, because this function performs a process for each state corresponding to <CODE>nngxValidateState</CODE>, when using the gl API, an error may occur for reasons not listed above. In this case, it is possible to narrow down the reason for the error by calling the <CODE>nngxValidateState</CODE> function for each state before calling this function.
69            </P></div>
70<h2>Revision History</h2>
71    <div class="section">
72      <dl class="history">
73        <dt>2011/06/15</dt>
74<dd>Added internal processes and how to check error causes<br />
75        </dd>
76        <dt>2010/01/07</dt>
77<dd>Initial version.<br />
78        </dd>
79      </dl>
80    </div>
81  <hr><p>CONFIDENTIAL</p></body>
82</html>
83