3

短編小説:
地球のコードは threejs v40 に基づいています (そして含まれています)、現時点で github の最新バージョンはthreejs r55です。誰か(この分野で私よりも知識が豊富な人)がglobeを新しいthreejsバージョンに移植したかどうか疑問に思っていましたか?

長い話: http://www.chromeexperiments.com/globe
から Google の地球儀をいじっていました。古い threejs (github 上) バージョンに基づいていることに気付きました。最新バージョンを使用する (そして同じ結果が得られる!) ことは簡単ではありませんでした。この質問も参照してください。

いくつかの関数名を変更し、いくつかのパラメーターをいじりましたが、大したことではありません。次に、シェーダーに目を向けました。それはより困難であることが判明しました。Mesh.flipSided = true;を実行すると、古いバージョンの threejs にバグがあるようです。: 古いバージョンと新しいバージョンのシェーダーで法線ベクトルが異なるようです。しかし、globeのシェーダー コードはこのバグに対応して書かれていたため、シェーダー コードを修正する必要がありました。

私は今、同じように見えるものを持っていますが、大気と地球を組み合わせることはまったく機能していません. この threejs のバグが関与しているのではないかと疑っていますが、よくわかりません。繰り返しますが、これは地球儀の作成者によって使用された可能性のある裏返しのバグです。

うーん、ええと、私はここで立ち往生しています。旧バージョンのままやりたいことはできるのですが、なんだか気持ち悪いです。

誰かがここで光を当てることができますか?

4

1 に答える 1

2

https://code.google.com/p/webgl-globe/source/browse/globe/globe.jsの変更ログによると:

「2012年11月5日。threejsr52およびtweenjsr7に更新されました。」

それで、表面的にはそれが更新されたように聞こえます...コードのどの部分が特にあなたに問題を与えていますか?

最近でMesh.flipSided = trueは、メッシュの素材ではなく、代わりに設定する必要がありますside:THREE.BackSide

さらに調査するために、コードへのリンクを投稿または送信できますか?地球儀プロジェクトの更新版は、最も価値のある取り組みのように思えます。

于 2013-03-18T01:39:40.437 に答える