Three.js的后端3D模型/树在哪里?

4
最近我看了一些WebGL的展示案例,发现Three.js似乎是一个非常流行的框架(如此流行以至于Toni Parsli所著的有关WebGL的O'Reilly书籍主要集中在Three.js上)。
现在我看了看Three.js的源代码,并且想知道为什么在源代码中找不到某种场景树来保存对象。我原本期望在源代码中找到类似BSP、k-d-tree或八叉树之类的东西。
我找到的是“扁平列表”,它似乎保存了对象:http://ushiroad.com/3j/ 现在我有点困惑了。为什么要使用扁平数据结构来保存场景?我认为树应该是更好的解决方案。
我是否错过了源代码中的树形结构(不用说我没有逐行阅读它)或者我对场景图优化的理解有误?
PS:我也在思考是否“扁平列表”是在修剪场景图后的中间对象。然而,我在源代码中找不到这方面的迹象,尽管http://ushiroad.com/3j/似乎表明了这一点。
1个回答

3

这是否意味着需要一个服务器端的八叉树? - wirrbel
是的,有点儿吧 ;) 我想说的是,我仍然不太明白为什么不使用这样的数据结构,难道在JavaScript中树遍历非常昂贵? - wirrbel
不,它们在后端没有被使用的原因是因为它们不需要。 - WestLangley
你为什么取消了这个答案的采纳?没有树,而我回答了你的问题。 - WestLangley
你回答了我问题的一个基本部分,没错。但是我仍然不知道为什么不使用树形或图形结构。你只是写了它不需要,现在我认为如果标记为未回答,其他人更有可能再次查看问题。我感谢你的回答(点赞),但我的问题还有一部分没有得到回答。为什么没有树形结构来降低渐进复杂度? - wirrbel
我已经尽力给你最好的答案了。如果你能在代码中找到树可以提高性能的特定地方,可以编写代码并提交拉取请求。欢迎任何帮助。 - WestLangley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接