2013-02-12 43 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