我有一个数组,其中包含一个顶点列表,我使用顶点缓冲区对象将其复制到GPU。然而,顶点坐标本身是没有意义的,因为我还有一个整数数组,其中包含顶点数组的索引列表。
在这种情况下,可以创建另一个缓冲区对象来存储索引,然后在渲染函数中绑定顶点数组和索引数组以进行绘制:
//vertex coordinates
glBindBuffer(GL_ARRAY_BUFFER, bufferId1);
//index coordinates
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, bufferId2);
glVertexPointer(3, GL_FLOAT, 0, 0);
//Not sure if this should be Unsigned BYTE or Unsigned SHORT
glDrawElements(GL_POINTS, 6, GL_UNSIGNED_BYTE, 0);
我读过api,以下让我困惑:
“当一个非零缓冲区对象绑定到GL_ELEMENT_ARRAY_BUFFER目标时,glDrawElements的indices参数传统上被解释为指向客户端内存的指针,而是被解释为在基本机器中测量的缓冲区对象内的偏移量单位。”
我对图形编程很陌生,如果其中任何一个没有意义,请道歉。