我發現更清潔,更容易與保持這些元素在單獨的緩衝區,但我想知道它是否表現更好,讓他們都在一個大緩衝區。在OpenGL中使用一個緩衝區的頂點,uvs和法線比使用三個更好嗎?
0
A
回答
3
我們在談論數組或結構陣列的結構及其效率。在大多數情況下,Array of Structures效率更高,因爲它可以更好地利用處理器緩存,但是這假定您將訪問存儲器中的數據。
但是,如果某些數據刷新速度不同於另一個數據庫,那麼將它們放在不同的緩衝區中會有好處,這樣您就只能更新需要更新的數據。
5
使用多個緩衝區的優點是,您可以輕鬆禁用某個特殊渲染(深度 - 例如,不需要法線或紋理座標)。
但是,將所有交叉存儲在單個數組中的屬性存儲在渲染時會提供更好的緩存局部性。
2
根據OpenGL wiki,
如果使用單獨的維也納組織你不會失去太多的表現。這將是大約5%的 ,但您的測試可能會顯示其他情況。
我不知道這個聲明是否僅用於動態數據,但在我的引擎中我使用了單獨的VBO。
相關問題
- 1. OpenGL頂點和緩衝區
- 2. 如何在android和opengl中使用頂點緩衝區1.1
- 3. OpenGL。使用glBufferData更新頂點緩衝區
- 4. 在C++ OpenGL中使用頂點緩衝區對象
- 5. 在C++中使用OpenGL頂點緩衝區
- 6. 卸載OpenGL中的頂點緩衝區
- 7. opengl中的頂點緩衝區
- 8. 使用directx11中的頂點緩衝區繪製點畫線
- 9. 使用頂點緩衝區對象在OpenGL中進行基本線條渲染
- 10. 在DX10/DX11中使用多個頂點緩衝區
- 11. 的OpenGL ES 2.0,使用多個頂點繪圖緩衝器
- 12. 在OpenGL ES 1.1和ES 2.0中使用頂點緩衝區對象繪圖
- 13. OpenGL:單頂點緩衝區中的兩個球體
- 14. LWJGL/OpenGL頂點緩衝區對象
- 15. OpenGL:頂點索引緩衝區問題
- 16. DX10 +多個頂點緩衝區,單個索引緩衝區
- 17. OpenGL - 從頂點着色器訪問緩衝區中的下3個頂點
- 18. ArcObjects:緩衝點比緩衝線/折線更快嗎?
- 19. 使用Apple的金屬渲染第二個頂點緩衝區
- 20. OpenGL中的類似對象需要多個頂點緩衝區嗎?
- 21. d3d中動態頂點緩衝區的效率和使用
- 22. 從另一個線程更新映射的OpenGL緩衝區
- 23. C++更好的做法是使用流和緩衝區
- 24. 如何加速使用Python,Pyglet和頂點緩衝區編寫的OpenGL代碼?
- 25. 帶頂點緩衝區的Java OpenGL線條繪圖
- 26. 在jogl中使用頂點緩衝區,當太多的三角形崩潰時
- 27. 更新DecalGeometry頂點,UVs,
- 28. 爲什麼這個頂點緩衝區對象無法更新?
- 29. 如何使用頂點緩衝區對象將使用頂點數組的OpenGL代碼轉換爲代碼?
- 30. OpenGL的頂點緩衝區對象不起作用
感謝您的所有答案! – XaitormanX