1
我有一个数组,其中包含我使用顶点缓冲区对象复制到GPU的顶点列表。然而,顶点坐标本身是没有意义的,因为我也有一个整数数组,其中包含一系列索引到顶点数组中。在OpenGL ES 1.x中使用顶点缓冲对象时,我可以使用索引基元吗?
在这种情况下是有可能创建另一个缓冲区对象来存储的索引,然后在渲染功能绑定两个顶点数组和索引数组,附图中:
//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参数解释为指向客户端内存的指针,而是将其解释为缓冲区对象内的偏移量基本机器单位“。
我对图形编程非常新颖,所以如果任何这些都没有意义,请道歉。
我不确定32位索引在ES中是否可行。 – WindRider 2013-07-27 18:05:59