我有4-5个目标。我为他们每个人画了几个三角形。
while !window.should_close() {
for target in targets.iter() {
// Update uniform (target.color_value [red, blue, green, yellow] )
// BindVertexArray
// DrawElements
}
}一切正常,我的三角形以不同的颜色绘制在屏幕上。
我可以有一个绑定一次并运行一次绘图命令的buffer吗?就像这样
while !window.should_close() {
for target in targets.iter() {
// Update uniform (target.color_value [red, blue, green, yellow] )
}
// BindVertexArray
// DrawElements
}我试过了,但正如我所料,所有的东西都是黄色的。
我找到了How to draw multiple objects by using uniform buffer objects and instanced rendering?以及glMultiDrawArraysIndirect和glDrawArraysInstanced。
我对如何组织我的代码感到困惑。
发布于 2020-02-05 08:30:30
每次绘制调用只能为所有顶点指定一个统一的值。
可以为每个顶点提供具有颜色值的附加属性。它的工作方式与为三角形顶点提供坐标属性的方式相同。
https://stackoverflow.com/questions/60053894
复制相似问题