BIM輕量化技術解析
(一)
BIM模型處理全流程
從設計模型轉換到BIM模型,再到我們最終在電腦或者移動終端看到的模型,中間經歷了兩個處理過程,一個是幾何轉換,一個是渲染處理,
這兩個處理過程的好壞直接影響到最終輕量化的效果,因此我們也稱其為BIM模型輕量化的關鍵環節,這兩個環節是真正考驗各個BIM軟體廠商技術實力的關鍵點。
(二)
BIM模型輕量化的關鍵環節:
1. 幾何轉換
1.1 微觀層面的優化
1) 引數化幾何描述:單個構件的輕量化,比如一個圓柱體:通過引數化的方法做圓柱的輕量化。
2) 三角化幾何描述:雙刃劍
3) 兩種描述的對比
1.2 巨集觀層面的優化
相似性演算法減少圖元數量:做圖元合併,比如保留一個圓柱的資料,其他圓柱我們記錄一個引用 + 空間座標即可。通過這種方式我們可以有效減少圖元數量,達到輕量化的目的。
2. 渲染處理
2.1 微觀層面的優化
多重LOD(Levels of Detail),加速單圖元渲染速度:多重LOD用不同級別的幾何體來表示物體,距離越遠載入的模型越粗糙,距離越近載入的模型越精細,從而在不影響視覺效果的前提下提高顯示效率並降低儲存。
單次渲染體量 = 圖元數量 * 圖元精度。
視點距離遠的情況下,圖元數量雖然多,但是圖元精度比較低,所以體量可控。
視點距離近的情況下,圖元精度雖然高,但是圖元數量比較少,體量依然可控。
2.2 巨集觀層面的優化
1) 遮擋剔除,減少渲染圖元數量:對圖元做八叉樹空間索引,然後根據視點計算場景中要剔除掉的圖元,只繪製可見的圖元。
2) 批量繪製,提升渲染流暢度:繪製呼叫非常耗費CPU、並且通常會造成GPU時間閒置。為了優化效能、平衡CPU和GPU負載,可以將具有相同狀態(例如相同材質)的物體合併到一次繪製呼叫中,這叫做批次繪製呼叫。
(三)
理想的輕量化技術方案:輕量化主要從幾何轉換、渲染處理兩個環節著手進行優化,權衡技術利弊及應用需求,理想的技術方案如下:
輕量化模型資料 = 引數化幾何描述(必須) + 相似性圖元合併;
提升渲染效果 = 遮擋剔除 + 批量繪製 + LOD(可選);
另外多執行緒排程、動態磁碟交換、首幀渲染優化可大大加速渲染效率