我有一组纹理,我需要在不同的顶点绘制,这样每个纹理都是可见的。我无法定义一组静态顶点,因为我动态加载纹理,我不知道每次都会加载多少纹理(我根据条件选择它们。
这就是我的代码现在的样子。
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()的最终参数传递的顶点?
答案 0 :(得分:0)
您知道将使用的最大顶点数吗?也许您可以将vertices
数组创建为最大大小,然后在glVertexPointer
的第一个参数中,您只传递实际使用的顶点数。