推荐的网址(glDrawElements)

http://www.dreamingwish.com/dream-2012/gldrawelements.html

Name

glDrawElements — 由数组数据渲染图元

C Specification

void glDrawElements( GLenum mode,

GLsizei count,

GLenum type,

const GLvoid * indices);
 

Parameters

mode

指定要渲染何种图元. 可接受的符号常量有 GL_POINTSGL_LINE_STRIPGL_LINE_LOOP

GL_LINES,GL_TRIANGLE_STRIPGL_TRIANGLE_FAN, 和 GL_TRIANGLES 

count

指定要渲染的元素数量

type

指定indices中的值的类型。必须为GL_UNSIGNED_BYTE或者GL_UNSIGNED_SHORT。

indices

指定存指向索引存储位置的指针

Description

glDrawElements使用很少的子例程调用来指定多重几何图元。除了调用GL方法来传递每一个顶点的属性,你还可以使用glVertexAttribPointer函数来设置独立的顶点、法线、颜色矩阵,以及纹理坐标,并仅需调用glDrawArrays就可以通过它们构建一系列图元。

glDrawElements函数被调用时,它使用启用的数组中的从indices开始的count个连续的元素构建一系列几何图元。mode指定了要构建何种图元以及数组元素怎样构建图元。如果启用了不止一个数组,那么每个数组都会被使用。

要启用或者禁用顶点属性数组,调用glEnableVertexAttribArrayglDisableVertexAttribArray

Notes

如果当前的程序对象(由glUseProgram设定)不可用,那么渲染结果是未定义的。但是,这种情况下不会产生任何错误。

Errors

如果 mode 不是可接受的值,产生GL_INVALID_ENUM错误。

如果type不是GL_UNSIGNED_BYTE或者GL_UNSIGNED_SHORT,则产生GL_INVALID_ENUM错误。

如果count 为负,产生GL_INVALID_VALUE错误。

如果当前绑定的帧缓冲区未完成(也就是说,glCheckFramebufferStatus的返回值不是GL_FRAMEBUFFER_COMPLETE),产生GL_INVALID_FRAMEBUFFER_OPERATION错误。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值