从当前绑定的缓冲区中读取数据按照基本图元的形式绘制几何图形。该函数根据顶点数组中的坐标数据和指定的模式,进行绘制。调用该函数之前需要,调用glEnableVertexAttribArray、glVertexAttribPointer等设置顶点属性和数据。如果要 glDrawArrays 和 glDrawElements 正确进行绘制的话,必须在之前 调用带有相应参数的 glEnableClientState 方法。glDrawArrays使用的是顶点,而glDrawElements使用的是顶点数组的索引。
/* Enable vertex arrays. */
glEnableClientState( GL_VERTEX_ARRAY );
/* Enable texture arrays. */
glEnableClientState( GL_TEXTURE_COORD_ARRAY );
你可以使用glVertexAttribPointer预先指定单独的顶点,法线和颜色数组,而不是调用GL过程来传递每个单独的顶点属性并使用它们通过单次调用glDrawArrays来构造图元序列。
void glDrawArrays( GLenum mode,
GLint first,
GLsizei count);
mode
Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_