对两个对象使用相同的 VBO 好吗?

Posted

技术标签:

【中文标题】对两个对象使用相同的 VBO 好吗?【英文标题】:Is using the same VBO for two objects okay? 【发布时间】:2014-07-10 14:07:36 【问题描述】:

假设我有多个相同的对象,我想在不同的地方渲染它们。我可以使用相同的 VBO(以节省内存)但更改发送到着色器的矩阵吗?还是说错了?

【问题讨论】:

这是你能做的最好的事情。 更好的是,如果您想在场景中的多个位置渲染相同的几何体,您应该研究实例化渲染。您可以使用所有各种转换填充缓冲区对象并在着色器中引用它们,然后通过一次调用绘制所有对象。 【参考方案1】:

这是好的和推荐的,大多数人这样做是为了避免内存中没有用的重复数据。这样做不会受到任何惩罚。

【讨论】:

以上是关于对两个对象使用相同的 VBO 好吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 OpenGL ES 中,多个程序可以使用相同的 VBO 并绑定到它们的属性吗?

qt两个widget渲染相同

将两个不同的网格放在同一个顶点 VBO 中的 OpenGL 最佳实践

配置VAO和VBO时,顶点数据数组是不是应该使用相同的方法? (OpenGL)[重复]

vbo 只拥有相同大小的顶点?

OpenGL - 非常奇怪的伪影。只有当有很多相同类型的对象实例时才会发生