我正在研發適合非常大型場景顯示的3D引擎。 渲染本身(截錐體剔除,遮擋剔除等)的公寓,我想知道什麼是場景管理的最佳解決方案。大型3D場景流式傳輸
數據作爲一個巨大的3D meshs的名單,與他們沒有關係,所以我不能生成的門戶網站,我想......
的主要目標是能夠在運行該引擎具有低RAM(500MB-1GB)的系統,並且加載到其中的場景非常大,可能包含數百萬個三角形,這會導致非常密集的內存使用量。我實際上正在使用一個鬆散的八叉樹,在加載時構建,它在中小型場景中運行良好,但許多場景僅適用於完全適合內存的場景,所以在這裏提出我的問題:
你處理場景來動態地加載和卸載塊(並且理想地無縫地),並且你將基於什麼來確定塊是否應該被加載/卸載?如果需要,我可以創建自定義文件格式,因爲場景使用已知3D製作工具上的自定義導出器導出。
重要信息:許多場景由於其構造而無法有效遮擋。例如:一個非常巨大的管道網絡,所以沒有太多的遮擋,但有很多元素。
感謝您的回答,沒有在場景中沒有紋理。體素引擎是一個真正的解決方案,牢記我的場景只是多邊形集合,我不知道對象的體積。場景完全是靜態的,沒有任何物體會移動。但我必須能夠按需隱藏一些對象(不是什麼大問題) – ingham 2014-10-13 07:42:49
它取決於對象的類型。如果渲染多邊形並且您期望某些或所有對象具有非常高的細節,那麼基於對象的基於LOD的解決方案可能更合適。如果除了變換矩陣或着色器參數外,很多對象在幾何上都是相同的,請查看實例化渲染(即管道示例)。 – StarShine 2014-10-13 11:26:59
那麼一個包含大量不同小物體的場景(例如〜500 000個〜100-300個三角形物體)呢? – ingham 2014-10-13 14:20:20