【发布时间】:2014-12-14 19:37:11
【问题描述】:
以下哪个选项更适合每个实例的数据?
- 一个巨大的 VBO,其中包含每个对象的位置,由所有 VAO 共享,每个 VAO 都有一个偏移量和长度
- 每个 VAO 一个 VBO,只有其顶点数据的实例位置。
- 更高级的东西,比如一个用于静态对象的大型 VBO 和一个用于移动对象的较小 VBO
我没有使用多个 VAO 来绘制一组实例。我的意思是跨多个 VAO 的多组实例。
【问题讨论】:
-
我不想说以上任何一个。您能否详细说明实例的含义?您的字面意思是
glDrawArraysInstanced (...)中的实例和实例化数组(例如glVertexAttribDivisor (...))还是其他?你真的不会使用多个 VAO 进行实例绘图,因为 GL 定义了这个术语,因为其想法是在单个绘图调用中对同一数据集做尽可能多的工作。 -
@AndonM.Coleman 我想你可能误解了。我已经按照他们应该的方式设置了实例。我的意思是,无论对象如何,只上传一个 VBO,其中包含所有 VAO 的实例数组。
-
为什么会有人反对这个,opengl 已经够难了。
标签: opengl vertex-buffer