繁体   English   中英

在openGL中我是否需要多个顶点缓冲区用于类似的对象?

[英]Do I need multiple vertex buffers for similar objects in openGL?

例如,给定两个具有相似顶点的立方体,例如,

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

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

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

您可以使用相同的顶点缓冲区来绘制任意数量的对象(着色器与否)。 如果要绘制第二个对象,只需更改模型矩阵并再次绘制它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM