2012-10-29 22 views
1

例如,给定两个立方体具有类似的顶点,例如,OpenGL中的类似对象需要多个顶点缓冲区吗?

float pVerts[] = 
{ 
    0.0, 0.0, 0.0, 
    1.0, 0.0, 0.0, 
    ... 
}; 
glGenBuffer(1, &mVertexBuffer); 
glBindBuffer(...); 
glBufferData(...); 

可我只是缓存此组顶点出来以后使用?换句话说,如果我想要第二个立方体(具有完全相同的顶点数据),是否需要生成另一个顶点缓冲区?

与着色器,同样适用?我可以使用相同的程序来绘制这些立方体吗?

回答

4

您可以使用相同的顶点缓冲区绘制尽可能多的对象(无论是否着色)。如果要绘制第二个对象,只需更改模型矩阵并再次绘制。

对于着色器,您可以使用相同的着色器绘制尽可能多的对象。只需绑定着色器,然后根据需要触发尽可能多的绘制调用。

相关问题