2013-02-12 42 views
4

最近我看了一些WebGL的展示,發現了three.js,這似乎是一個非常流行的框架(如此受歡迎,以至於Toni Parsli在webgl上的oreillys書籍似乎廣泛地關注於Three.js)。Backend Three.js的3D模型/樹在哪裏?

現在我看看three.js的來源,想知道爲什麼我無法在源中找到某種場景樹來容納這些對象。我本來期望在來源中找到類似BSP,K-D-tree或八叉樹的東西。

我發現什麼是「平面化列表」,這似乎持有的對象:http://ushiroad.com/3j/

沒有我有點flubbergusted。爲什麼要把這個場景保持在一個平坦的數據結構中?我會假設一棵樹會是更好的解決方案。

我是否遺漏了源代碼中的樹結構(不用說我沒有逐行讀取它)或者是否有一些關於我沒有理解的場景圖優化?

PS:我也在考慮在修剪場景圖之後,平化列表是否是中間對象。儘管http://ushiroad.com/3j/似乎表明了這一點,但我無法從源頭上找到相關信息。

回答

3

未添加後端樹結構,因爲它不是必需的。

如果您需要應用程序層的樹結構,請查看https://github.com/collinhover/threeoctreehttps://gist.github.com/chandlerprall/1484619

+0

這是否意味着需要服務器端八叉樹? – wirrbel 2013-02-12 20:39:02

+0

我不這麼認爲。這個答案可以接受嗎? – WestLangley 2013-02-14 22:54:03

+0

是的,有點;)我會說,我還是不太好意思,爲什麼這樣的數據結構沒有被使用,在JavaScript中樹遍歷是如此昂貴? – wirrbel 2013-02-18 12:38:19