4

我最近看了一些 WebGL 的展示,发现 three.js 似乎是一个非常流行的框架(如此流行,以至于 Toni Parsli 的 oreillys 关于 webgl 的书似乎广泛关注 Three.js)。

现在我查看了three.js 的源代码,并且想知道为什么我在源代码中找不到某种场景树来保存对象。我曾期望在源代码的某处找到诸如 BSP、kd-tree 或 octree 之类的东西。

我发现的是“扁平列表”,它似乎包含对象:http ://ushiroad.com/3j/

不,我有点不知所措。为什么要将场景保存在平面数据结构中?我认为一棵树会是更好的解决方案。

我是否遗漏了源代码中的树形结构(不用说我没有逐行阅读)或者是否有一些我不了解的场景图优化?

PS:我也在想Flattened List是不是场景图剪枝后的中间对象。然而,尽管http://ushiroad.com/3j/似乎表明了这一点,但我在源代码中找不到这一点。

4

1 回答 1

3

没有添加后端树结构,因为它不是必需的。

如果您需要应用层的树形结构,请查看https://github.com/collinhover/threeoctreehttps://gist.github.com/chandlerprall/1484619

于 2013-02-12T17:58:46.287 回答