Spark 2.0 – World Labs 開源的Web端 3D 高斯濺射渲染引擎

AI工具3天前發佈新公告 AI管理員
0 0

Spark 2.0是什麼

Spark 2.0是World Labs(李飛飛創立)開源的Web端3D高斯濺射渲染引擎,基於Three.js和WebGL2構建。Spark 2.0首創LoD細節層次系統、漸進式流式傳輸與虛擬內存技術,可在桌面、手機、VR等任意設備瀏覽器中實時渲染超1億個splats的大規模3D世界,實現場景從粗糙到精細的平滑漸進式加載,突破傳統Web 3D渲染的規模與性能瓶頸,讓海量超大場景即時交互、沉浸式流暢瀏覽成爲可能。

Spark 2.0 – World Labs 開源的Web端 3D 高斯濺射渲染引擎

Spark 2.0的主要功能

  • 超大規模場景渲染:支持在桌面、手機、VR 等任意設備的瀏覽器中流式傳輸並實時渲染包含超過 1 億個 splats 的超大 3D 世界。
  • 多對象全局合成:同時渲染多個獨立的 3DGS 對象,自動對所有 splats 進行統一的全局深度排序,確保不同對象在空間中正確融合而非簡單疊加。
  • 連續 LoD 細節層次:通過構建 LoD Splat Tree 層級結構,根據相機距離和視角動態計算最優的樹切割線,自動在近處顯示高精度、遠處顯示低精度,實現平滑無跳變的細節過渡。
  • 漸進式流式傳輸:採用自研的 .RAD 文件格式,使場景首次加載時立即呈現 64K splats 的粗糙版本,根據視角優先下載並細化可見區域的數據,實現邊傳輸邊精細化的流暢體驗。
  • 虛擬內存管理:爲 splats 分配固定的 GPU 內存池作爲頁表,根據用戶在場景中的實時位置自動從網絡獲取和置換數據塊,突破移動設備內存限制訪問海量數據。
  • 注視點渲染優化:通過 Foveated Rendering 技術自動將渲染預算向視野中心傾斜,降低屏幕邊緣和相機後方區域的細節級別,在不影響主觀畫質的前提下顯著提升幀率。
  • 實時編輯與重光照:支持在瀏覽器中直接對 3D 高斯濺射場景進行實時編輯、顏色調整和動態重光照操作,無需離線預處理可看到修改效果。
  • 可編程特效系統:提供基於 GLSL 的代碼接口和可視化着色器圖節點系統,支持開發者創建動態動畫、SDF 幾何裁剪、透明度調整等豐富的自定義視覺效果。

Spark 2.0的技術原理

  • 3D 高斯濺射基礎:Spark 2.0 採用 3D Gaussian Splatting 技術,用數百萬個半透明 3D 橢球體(splats)替代傳統三角網格表示場景,每個 splat 由位置、縮放、旋轉、顏色和不透明度定義,通過 GPU 按深度順序混合渲染形成最終圖像。
  • 三步渲染管線:系統採用“生成全局列表→全局深度排序→實例化繪製”的架構,將多對象 splats 轉換到統一座標系並應用動態效果(動畫、裁剪等),通過 GPU 計算距離後由 CPU 基數排序確定渲染順序,最後單次繪製調用完成所有 splats 的光柵化。
  • 連續 LoD Splat Tree:爲解決億級 splats 的渲染壓力,Spark 自底向上構建層級樹結構,將子節點合併爲父節點形成多分辨率表示,運行時通過優先級隊列在固定預算(50-250 萬 splats)內動態計算最優“樹切割線”,實現近精細遠粗糙的平滑過渡。
  • 漸進式流式傳輸:採用自研 .RAD 格式將數據分塊(每塊 64K splats)列式壓縮存儲,文件頭記錄隨機訪問索引,使場景可先以 64K 粗糙版本即時呈現,根據視角通過 HTTP 範圍請求動態下載細化數據塊,實現邊下邊看的漸進加載。
  • 虛擬內存管理:分配固定 GPU 內存池作爲 splat 頁表,結合 LoD 樹遍歷結果動態判斷當前視口所需數據塊,當用戶移動時自動從網絡拉取新數據並置換舊數據,使瀏覽器能訪問遠超本地內存限制的海量 splats。
  • LoD 樹生成算法:提供 Tiny-LoD(基於空間網格快速合併,採用排序代替哈希優化緩存,適合網頁實時生成)和 Bhatt-LoD(基於 Bhattacharyya 距離度量高斯相似度進行高質量合併,適合離線處理)兩種無訓練依賴的算法構建層級結構。

如何使用Spark 2.0

  • 環境引入:在項目中通過 CDN 或 npm 安裝 Spark 2.0 和 Three.js,確保目標瀏覽器支持 WebGL2 標準。
  • 基礎加載:對於小規模場景,直接調用 loadSplat 方法加載 PLY、SPZ 或 Splat 格式的原始 3DGS 文件並添加到 Three.js 場景中。
  • 大場景預處理:針對超億級 splats 的大規模場景,用命令行工具 spark build-lod 將原始文件離線轉換爲支持漸進式流式傳輸的 .RAD 格式。
  • 流式加載:在代碼中調用 loadRad 方法加載轉換後的文件,配置 splat 渲染預算和注視點渲染參數控制細節層次和性能表現。
  • 渲染更新:在動畫循環中持續調用 splat 對象的 update 方法並傳入當前相機參數,自動完成深度排序和 LoD 細節切換。
  • 多對象合成:同時加載多個 LoD 對象時,Spark 會自動遍歷所有對象的 splat 樹並統一分配全局渲染預算,實現無縫融合。

Spark 2.0的關鍵信息和使用要求

  • 產品定位:World Labs(李飛飛創立)開源的 Web 端 3D 高斯濺射(3DGS)渲染引擎,基於 Three.js 和 WebGL2 構建,可在任意設備瀏覽器中實時渲染超 1 億 splats 的大規模 3D 場景。
  • 核心技術:① LoD Splat Tree(連續細節層次,動態選擇渲染精度);② 漸進式流式傳輸(.RAD 格式,先呈現粗糙版本再按需細化);③ 虛擬內存(固定 GPU 內存池動態置換數據塊)。
  • 性能表現:支持桌面、iOS、Android、VR 全平台,突破設備內存限制,實現邊下載邊交互的流暢體驗。
  • 環境要求
    • 支持 WebGL2 的現代瀏覽器(Chrome、Safari、Firefox、Edge 等)。
    • 無需 WebGPU,兼容性更廣
  • 硬件支持:桌面端、移動端(iOS/Android)、VR 設備(Quest 3、Apple Vision Pro 等)。

Spark 2.0的核心優勢

  • 超大規模承載:突破消費級設備通常僅支持 1-500 萬 splats 的限制,可實時渲染 1 億+ splats 的巨型場景。
  • 即點即看的流式體驗:採用自研 .RAD 格式與漸進式傳輸技術,場景用 64K 粗糙版本即時呈現,無需等待數百 MB 數據完全下載。
  • 全平台無縫兼容:基於 WebGL2  構建,覆蓋桌面、iOS、Android 及 VR 設備,無需擔心 API 支持差異。
  • 智能細節平衡:獨創連續 LoD Splat Tree 系統,根據視角距離與注視點動態調整精度,近實遠虛且過渡平滑無跳變。
  • 多對象全局融合:支持同時加載多個獨立 3DGS 對象,自動進行跨對象全局深度排序,解決傳統渲染器”貼圖疊加”問題。
  • 內存無感擴展:通過虛擬內存頁表機制,自動從網絡置換數據塊,使瀏覽器可訪問遠超本地 GPU 內存限制的海量資源。

Spark 2.0的項目地址

  • 項目官網:https://www.worldlabs.ai/blog/spark-2.0
  • GitHub倉庫:https://github.com/sparkjsdev/spark/

Spark 2.0的同類競品對比

對比維度 Spark 2.0 Luma AI
產品形態 開源 JavaScript 庫,開發者可深度定製、私有化部署與任意集成 閉源 SaaS 平台,提供標準化上傳-查看託管服務
實時編輯 支持瀏覽器內實時修改 splat 屬性、顏色調整、SDF 裁剪與動態特效 僅提供固定視角瀏覽與預設路徑,不支持實時參數調整
數據主權 支持 PLY/SPZ/Splat 等多種輸入格式並開放 .RAD 標準,數據完全自主 封閉生態,僅支持平台生成的特定格式,導出受限
場景規模 通過 LoD 系統智能管理顯存,可流暢瀏覽超大規模城市級場景 受限於平台處理能力與訂閱等級,超大場景需排隊或降質處理
成本結構 免費開源,僅需承擔自身服務器帶寬與存儲成本 按使用量、導出分辨率與 API 調用的訂閱制收費
離線能力 支持完全離線環境或私有 CDN 部署,無需外網依賴 必須持續聯網訪問 Luma 雲端服務,依賴平台可用性

Spark 2.0的應用場景

  • 數字孿生與城市治理:用於構建城市級數字孿生底座,支持在瀏覽器中實時瀏覽包含數千萬 splats 的智慧城市三維模型,無需部署重型客戶端可實現遠程巡檢與管理。
  • VR/AR 沉浸體驗:用於 VR/AR 頭顯設備上的大空間沉浸式漫遊,可在 Quest 3 或 Apple Vision Pro 中流暢探索超大規模的虛擬文旅與世界構建場景。
  • 實時內容創作:用於基於網頁的實時協作與內容創作,支持在瀏覽器中直接對 AI 生成的 3D 世界進行實時編輯、重光照及動態特效調整。
  • 線上展覽與電商:用於博物館、藝術展及房地產的線上展示,通過漸進式流式加載技術讓用戶 instant 瀏覽大型數字化場景而無需等待完整下載。
  • 網頁遊戲與虛擬活動:用於開放世界網頁遊戲和虛擬演唱會,實現邊玩邊下載的流式場景加載,支持超大規模虛擬環境的實時交互渲染。
© 版權聲明

相關文章

暫無評論

暫無評論...