如何在openGLES中的glVertexPointer()中动态创建顶点

时间:2010-10-24 23:48:13

标签: iphone xcode opengl-es

我有一组纹理,我需要在不同的顶点绘制,这样每个纹理都是可见的。我无法定义一组静态顶点,因为我动态加载纹理,我不知道每次都会加载多少纹理(我根据条件选择它们。

这就是我的代码现在的样子。

for(int i=0;i<num_img;i++)
{    
    glLoadIdentity();
    glTranslatef(0.0, 0.0, -3.0);
    glRotatef(rot, 1.0, 1.0, 1.0);
    glBindTexture(GL_TEXTURE_2D, texture[i]);
    glVertexPointer(3, GL_FLOAT, 0, vertices);
    glNormalPointer(GL_FLOAT, 0, normals);
    glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
    glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
}

无论如何动态生成可以作为glVertexPointer()的最终参数传递的顶点?

1 个答案:

答案 0 :(得分:0)

您知道将使用的最大顶点数吗?也许您可以将vertices数组创建为最大大小,然后在glVertexPointer的第一个参数中,您只传递实际使用的顶点数。