假设我有一个描述场景中模型的类(例如矩形)。此类包含最重要的模型矩阵和 VAO。在我的渲染代码中设计绘图循环时,我现在执行以下操作(伪代码):
functon draw{
list = getListOfMeshes() /* List containing mesh class items */
iterate list { /* could be for example 1000 different models */
set model matrix uniform
bind VAO
draw elements
}
}
我知道这可能会优化为仅一个 VAO 调用:
functon draw{
bind VAO
draw elements
/* How to handle the uniforms that are different for each model?? */
}
一旦我在我的场景中获得了许多模型,这个列表迭代就会成为一个瓶颈。有没有另一种方法来设计这个渲染循环?