我有點困惑,爲什麼你可以設置活動的頂點緩衝區數組,但只有一個索引緩衝區?那一個索引緩衝區能否解決所有頂點緩衝區的頂點?如果是這樣,我將如何指定哪個緩衝區是哪個索引所屬的?DX10 +多個頂點緩衝區,單個索引緩衝區
我的另一個問題是,因爲我使用索引三角形列表,索引數據大小與每個網格的頂點數據大小基本相同。我正在考慮爲每個頂點緩衝區創建一個索引緩衝區。我將動態添加網格物體,直到其中一個緩衝區耗盡爲止,此時創建另一個緩衝區。不可避免地,通過這樣做,這對中的一個緩衝區總是會在另一個緩衝區之前填滿,剩下的空間將永遠不會被使用。這個空間是否被標記爲在GPU中保留? 像例如,我可以適應4緩衝區包含32MB的數據,但創建64MB的字節寬度到128MB的vram?
好吧,清除的東西,如何獲得來自多個緩衝區的每個頂點數據會影響性能呢?如果兩個頂點緩衝區都有位置數據會發生什麼?我可以得到兩者並插入動畫等? –
DX10 +中沒有固定的流水線,因此完全取決於您(在編寫着色器時)您對同一個頂點的兩個不同位置所做的操作。通常使用世界矩陣之間的插值來完成動畫,而不是在兩個頂點緩衝區之間進行插值,但這是另一個話題! – gareththegeek