我有点困惑,为什么你可以设置活动的顶点缓冲区数组,但只有一个索引缓冲区?那一个索引缓冲区能否解决所有顶点缓冲区的顶点?如果是这样,我将如何指定哪个缓冲区是哪个索引所属的?DX10 +多个顶点缓冲区,单个索引缓冲区
我的另一个问题是,因为我使用索引三角形列表,索引数据大小与每个网格的顶点数据大小基本相同。我正在考虑为每个顶点缓冲区创建一个索引缓冲区。我将动态添加网格物体,直到其中一个缓冲区耗尽为止,此时创建另一个缓冲区。不可避免地,通过这样做,这对中的一个缓冲区总是会在另一个缓冲区之前填满,剩下的空间将永远不会被使用。这个空间是否被标记为在GPU中保留? 像例如,我可以适应4缓冲区包含32MB的数据,但创建64MB的字节宽度到128MB的vram?
好吧,清除的东西,如何获得来自多个缓冲区的每个顶点数据会影响性能呢?如果两个顶点缓冲区都有位置数据会发生什么?我可以得到两者并插入动画等? –
DX10 +中没有固定的流水线,因此完全取决于您(在编写着色器时)您对同一个顶点的两个不同位置所做的操作。通常使用世界矩阵之间的插值来完成动画,而不是在两个顶点缓冲区之间进行插值,但这是另一个话题! – gareththegeek