[OpenGL ES 1.0 API] glVertexPointer

本文详细介绍了OpenGL中的glVertexPointer函数,包括其参数说明、错误处理及如何使用此函数指定顶点坐标数组,以便在渲染时使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:http://baike.baidu.com/view/8692960.htm


glVertexPointer

  void glVertexPointer(GLint size,
  GLenum type,
  GLsizei stride,
  const GLvoid * pointer)
  参数:
  size:指定了每个顶点对应的坐标个数,只能是2,3,4中的一个,默认值是4
  type:指定了数组中每个顶点坐标的数据类型,可取常量:GL_BYTE, GL_SHORT,GL_FIXED,GL_FLOAT;
  stride:指定了连续顶点间的字节排列方式,如果为0,数组中的顶点就会被认为是按照紧凑方式排列的,默认值为0
  pointer:制订了数组中第一个顶点的首地址,默认值为0,对于我们的android,大家可以不用去管什么地址的,一般给一个IntBuffer就可以了。
  描述:
  当开始render的时候,glVertexPointer 用一个数组指定了每个顶点的坐标,
  size指定了每个顶点的坐标个数
  type指定了每个坐标的数据类型,(和尚注:注意,这里不同的数据类型含义不同,如果选择GL_FIXED,那么0x10000表示单位长度,如果选择GL_FLOAT那么10f表示单位度。)
  stride指定了一个顶点和下一个顶点间数据的排列方式,是"单一数组"还是"分散数组",单一数组的存储方式通常是更具效率的。当一个顶点数组被指定以后,size,type,stride,pointer被存储成client-side
  当glDrawArrays或者glDrawElements被调用的时候,如果顶点数组处于可用状态,就会被使用;可以使用glEnableClientState或者glDisableClientState来激活或者禁用一个顶点数组,顶点数组默认是不可用并且是不可被glDrawArrays、glDrawElements两个函数使用的。
  使用glDrawArrays函数可以根据顶点数组构建一个原始构图序列
  使用glDrawElements可以根据序列化的顶点集合来创建相同的序列
  Notes
  glVertexPointer is typically implemented on the client side
  Errors
  GL_INVALID_VALUE is generated if size is not 2, 3, or 4
  GL_INVALID_ENUM is generated if type is is not an accepted value
  GL_INVALID_VALUE is generated if stride is negative
  错误:
  GL_INVALID_VALUE size 不是 2, 3, 4中的一个的时候
  GL_INVALID_ENUM type 不是一个允许的值
  GL_INVALID_VALUE stride是错误的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值