什么是ThreeExtras.js?

时间:2013-05-28 13:07:12

标签: three.js webgl

我正在尝试解构使用ThreeExtras.js的this webGL moon

Threeextras.js似乎是Three.js的一些变种加上回购中其他地方的一些作品;是否有任何文档,或描述它与标准Three.js的区别?

(我还找到了变种构建的存储库,但除了three.js repo之外没有文档或提及原点。) http://www.chandlerprall.com/threebuilds/

3 个答案:

答案 0 :(得分:1)

ThreeExtras.js一直存在于存储库中,直到r49。你可以在https://github.com/mrdoob/three.js/tree/r49查看它。事情发生之后。您必须查看https://github.com/mrdoob/three.js/wiki/Migration处的migration guidehttps://github.com/mrdoob/three.js处的changes log,以了解如何将代码带到最新版本或询问有关特定问题的问题。

答案 1 :(得分:1)

如果你想在WebGL月球演示中解构的是基于纹理的效果,这里有一些信息:在更新版本的Three.js中,一些纹理效果如凹凸贴图和镜面映射是并入THREE.MeshPhongMaterial。有关一系列类似效果的示例 - 例如,对于地球行星 - 请查看以下示例:

http://stemkoski.github.io/Three.js/Earth.html

特别相关的代码是:

// Create the Earth with nice texturing - normal map for elevation, specular highlights
var sphereGeo = new THREE.SphereGeometry(100, 64, 32);  

var colors = THREE.ImageUtils.loadTexture( "images/earth-day.jpg" );
var bumps  = THREE.ImageUtils.loadTexture( "images/earth-topo.jpg" );
var shine  = THREE.ImageUtils.loadTexture( "images/earth-specular.jpg" );

var earthMaterial = new THREE.MeshPhongMaterial( { color: 0xffffff, map: colors, 
    bumpMap: bumps, bumpScale: 4, specular: 0xffffff, specularMap: shine, emissive: 0x888888 } );

var earthSphere = new THREE.Mesh( sphereGeo, earthMaterial ); 
scene.add(earthSphere);

希望这有帮助!

答案 2 :(得分:1)

我看到了同样的WebGL月球演示,并决定看看我能做得更好。如果您想了解如何使用最新版本的Three.JS做类似的事情,可以查看我的Moon Demo。在存储库页面上发布了一个链接到博客的博客,但这是一项正在进行中的工作。如果你不介意深入研究代码,你可能会比你现在看到的演示更好地使用它。如果你想查看它,这是live demo。它实现了漫反射光照以及法线贴图。然而,没有应用高光照明。