我有一個簡單的任務:我有10,000個3D框,每個框都有x,y,z,寬度,高度,深度,旋轉和顏色。我想把它們扔進一個3D空間,將其可視化,讓用戶用鼠標穿過它。有沒有簡單的方法把它們放在一起?最簡單的方法可以在3D中可視化10,000個陰影框
-2
A
回答
3
這樣使用最近的(V 3.2),OpenGL的將是一個簡單的方法:
- 使具有8個頂點(立方體的角)的陣列,讓他們在單位立方體座標,即從(-1,-1,-1)(1,1,1)
- 創建vertex buffer object
- 使用
glBufferData
獲得您的陣列到頂點緩衝器 - 綁定頂點緩衝器
- 創建,設置並綁定任何t你可能希望使用(跳過這個如果你不使用紋理)
- 創建該應用變換是從「某些源」讀矩陣頂點着色器extures(見下文)根據
gl_InstanceID
值
- 編譯着色器,鏈接程序,綁定程序
- 設置實例爲
- 取決於你用什麼方法來傳達數據變換所有多維數據集實例轉換數據(見下文),你可以在一個借鑑一切批次或批量使用
- 致電
glDrawElementsInstanced
否數字o f控制count
設定爲多要素倍,將適用於一批 - 如果使用多批次,更新頂點着色器 之間
- 數據變換適用於除了變換正常MVP的東西
要傳達每立方變換的數據,你有幾種選擇,其中有:
- uniform buffer objects,你分別有保證最低4096值, 256個4X4矩陣,但可以查詢實際值
- texture buffer objects,再次你有保證最低65536值,分別爲4096點4X4矩陣(但通常是一些大的多,我的老年卡可以做128,000,000值,你應該查詢實際值)
- 每個批次手工訂製服,這並不需要任何「緩衝」的東西,但最有可能是有點慢
或者:使用pseudo-instancing將工作,即使在硬件,做不直接支持實例化。它不是很優雅,而且速度稍慢,但它可以完成這項工作。
相關問題
- 1. 在Python中繪製可分離3D點的最簡單方法
- 2. 可視化圖像的陰影-matlab
- 3. 可視化:最佳方法?
- 4. OpenGL:製作陰影和光線卷的最簡單方法?
- 5. 這個DAO方法可以簡化嗎?
- 6. UIView最簡單的(矩形)陰影
- 7. pygame的最簡單可行的影子
- 8. 我們可以添加陰影到WPF 3D
- 9. 最佳的可視化方法
- 10. JavaScript中的可變陰影
- 11. ASP.NET中的簡單可視化/繪圖
- 12. libgdx假3D陰影
- 13. 我想要一個最簡單的可視化STL容器
- 14. 可視化以.json與3D節目
- 15. 簡單的方法來可視化DOCX XMls
- 16. 代碼CSS3陰影的最佳方法?
- 17. 在matlab中可視化3D數據量
- 18. 在MATLAB中可視化3D數據
- 19. 在3D中點數組可視化
- 20. Python - 可以並行運行函數的最簡單方法
- 21. 最簡單的方法可以將網頁保存爲.csv
- 22. 團結的陰影3d
- 23. MATLAB 3D體積可視化
- 24. 如何使框陰影可點擊
- 25. 動畫框陰影可見時
- 26. jQuery框陰影動畫 - 可能嗎?
- 27. 最簡單的方法來解析從可可twitter的數據
- 28. 繪製線段以便可視化某些算法的輸出最簡單的方法是什麼?
- 29. 最大化網絡可視化的陰謀
- 30. 瀏覽器中的3D可視化
你有使用的語言和圖形庫嗎?或者你的問題是關於使用什麼語言和圖形庫? – jball
我沒有任何限制!我可以使用任何。我在尋找建議。 – vy32
我發現這個比較3D遊戲引擎的好名單:http://en.wikibooks.org/wiki/Python_Programming/Game_Programming_in_Python – vy32