1
我有一個頂點緩衝區和一個索引緩衝區來渲染一個多邊形網格。 我想操縱N個頂點的位置(獨立於其他相鄰頂點移動它們)。如何直接更新VBO頂點數據?
我怎麼能去這樣做?
。我當然希望我沒有回去使用(4,8代替glDrawElements)。我花了很多時間才弄清楚頂點/索引緩衝區的渲染。
我有一個頂點緩衝區和一個索引緩衝區來渲染一個多邊形網格。 我想操縱N個頂點的位置(獨立於其他相鄰頂點移動它們)。如何直接更新VBO頂點數據?
我怎麼能去這樣做?
。我當然希望我沒有回去使用(4,8代替glDrawElements)。我花了很多時間才弄清楚頂點/索引緩衝區的渲染。
如果使用glBufferSubData更新數據你可能會稍微好一點的性能,特別是如果你能避免更新所有的緩衝區,但它只是一個很小的一部分。除非你移動你的頂點動畫到頂點着色器,你需要更新頂點每個頂點移動(由用戶)時間緩衝,並glBuffer(子)數據是最好的選擇。
編輯:創建VBO爲DYNAMIC,如果您經常進行更改,請創建兩個緩衝區並使用雙緩衝方法,以避免性能問題,因爲這樣可以在gpu使用其他緩衝區時寫入數據用於渲染。
我能找到一個類似的問題。它有幫助,但我希望得到這個社區的確認。 http://stackoverflow.com/questions/14574660/change-colour-of-vertices-after-they-are-uploaded-using-a-vbo?rq=1 – AlvinfromDiaspar 2013-05-01 06:30:25