【发布时间】:2013-03-18 09:39:40
【问题描述】:
短篇小说:
地球代码基于(并包含)threejs v40,而目前 github 中的最新版本是 threejs r55。我想知道是否有人(在这方面比我更了解)将 globe 移植到更新的threejs 版本?
说来话长:
我正在摆弄来自http://www.chromeexperiments.com/globe 的谷歌地球仪。
我注意到它基于旧的threejs(在github上)版本。使用最新版本(并获得相同的结果!)并不容易。另见this question。
我更改了一些函数名称并摸索了一些参数,没什么大不了的。然后我转向着色器。事实证明,这更具挑战性。当您执行 Mesh.flipSided = true; 时,旧版本的threejs 似乎有一个错误:旧版本和新版本之间的着色器中的法线向量似乎不同。但是 globe 中的着色器代码是针对这个错误编写的,所以我不得不更正着色器代码。
我现在有一些看起来一样的东西,但是将大气和地球结合起来根本不起作用。我怀疑this threejs bug 参与其中,但我不确定。这又是一个 flipSided 错误,可能已被 globe 作者使用。
嗯,嗯,我有点卡在这里。我可以做我想做的事情坚持旧版本,但不知何故感觉很糟糕。
任何人都可以在这里解释一下吗?
【问题讨论】:
-
您是否查看了Migration Wiki 以获得升级到当前版本的帮助?
-
是的,我在那里看过。不幸的是,它错过了 r45 之前的任何内容(例如重命名
addObject->add)。那里没有关于着色器的信息。我也真的不希望在那里看到如何将某个版本中的误用错误修复为更高版本中的有效等价物(如果可能的话)的描述;-)。无论如何感谢您的指针。
标签: three.js