2012-10-29 26 views
1

例如,給定兩個立方體具有類似的頂點,例如,OpenGL中的類似對象需要多個頂點緩衝區嗎?

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

可我只是緩存此組頂點出來以後使用?換句話說,如果我想要第二個立方體(具有完全相同的頂點數據),是否需要生成另一個頂點緩衝區?

與着色器,同樣適用?我可以使用相同的程序來繪製這些立方體嗎?

回答

4

您可以使用相同的頂點緩衝區繪製儘可能多的對象(無論是否着色)。如果要繪製第二個對象,只需更改模型矩陣並再次繪製。

對於着色器,您可以使用相同的着色器繪製儘可能多的對象。只需綁定着色器,然後根據需要觸發儘可能多的繪製調用。

相關問題