|
@@ -47,8 +47,6 @@
|
|
|
|
|
|
var camera, scene, renderer;
|
|
|
|
|
|
- var mesh, group1, group2, group3, light;
|
|
|
-
|
|
|
var mouseX = 0, mouseY = 0;
|
|
|
|
|
|
var windowHalfX = window.innerWidth / 2;
|
|
@@ -67,7 +65,7 @@
|
|
|
scene = new THREE.Scene();
|
|
|
scene.background = new THREE.Color( 0xffffff );
|
|
|
|
|
|
- light = new THREE.DirectionalLight( 0xffffff );
|
|
|
+ var light = new THREE.DirectionalLight( 0xffffff );
|
|
|
light.position.set( 0, 0, 1 );
|
|
|
scene.add( light );
|
|
|
|
|
@@ -91,22 +89,24 @@
|
|
|
var shadowMaterial = new THREE.MeshBasicMaterial( { map: shadowTexture } );
|
|
|
var shadowGeo = new THREE.PlaneBufferGeometry( 300, 300, 1, 1 );
|
|
|
|
|
|
- mesh = new THREE.Mesh( shadowGeo, shadowMaterial );
|
|
|
- mesh.position.y = - 250;
|
|
|
- mesh.rotation.x = - Math.PI / 2;
|
|
|
- scene.add( mesh );
|
|
|
+ var shadowMesh;
|
|
|
|
|
|
- mesh = new THREE.Mesh( shadowGeo, shadowMaterial );
|
|
|
- mesh.position.y = - 250;
|
|
|
- mesh.position.x = - 400;
|
|
|
- mesh.rotation.x = - Math.PI / 2;
|
|
|
- scene.add( mesh );
|
|
|
+ shadowMesh = new THREE.Mesh( shadowGeo, shadowMaterial );
|
|
|
+ shadowMesh.position.y = - 250;
|
|
|
+ shadowMesh.rotation.x = - Math.PI / 2;
|
|
|
+ scene.add( shadowMesh );
|
|
|
|
|
|
- mesh = new THREE.Mesh( shadowGeo, shadowMaterial );
|
|
|
- mesh.position.y = - 250;
|
|
|
- mesh.position.x = 400;
|
|
|
- mesh.rotation.x = - Math.PI / 2;
|
|
|
- scene.add( mesh );
|
|
|
+ shadowMesh = new THREE.Mesh( shadowGeo, shadowMaterial );
|
|
|
+ shadowMesh.position.y = - 250;
|
|
|
+ shadowMesh.position.x = - 400;
|
|
|
+ shadowMesh.rotation.x = - Math.PI / 2;
|
|
|
+ scene.add( shadowMesh );
|
|
|
+
|
|
|
+ shadowMesh = new THREE.Mesh( shadowGeo, shadowMaterial );
|
|
|
+ shadowMesh.position.y = - 250;
|
|
|
+ shadowMesh.position.x = 400;
|
|
|
+ shadowMesh.rotation.x = - Math.PI / 2;
|
|
|
+ scene.add( shadowMesh );
|
|
|
|
|
|
var faceIndices = [ 'a', 'b', 'c' ];
|
|
|
|
|
@@ -124,7 +124,7 @@
|
|
|
f2 = geometry2.faces[ i ];
|
|
|
f3 = geometry3.faces[ i ];
|
|
|
|
|
|
- for( var j = 0; j < 3; j++ ) {
|
|
|
+ for ( var j = 0; j < 3; j ++ ) {
|
|
|
|
|
|
vertexIndex = f[ faceIndices[ j ] ];
|
|
|
|
|
@@ -141,7 +141,7 @@
|
|
|
f2.vertexColors[ j ] = color;
|
|
|
|
|
|
color = new THREE.Color( 0xffffff );
|
|
|
- color.setHSL( 0.125 * vertexIndex/geometry.vertices.length, 1.0, 0.5 );
|
|
|
+ color.setHSL( 0.125 * vertexIndex / geometry.vertices.length, 1.0, 0.5 );
|
|
|
|
|
|
f3.vertexColors[ j ] = color;
|
|
|
|
|
@@ -149,28 +149,28 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
+ var mesh, wireframe;
|
|
|
|
|
|
- var materials = [
|
|
|
+ var material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true, vertexColors: THREE.VertexColors, shininess: 0 } );
|
|
|
+ var wireframeMaterial = new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, transparent: true } );
|
|
|
|
|
|
- new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true, vertexColors: THREE.VertexColors, shininess: 0 } ),
|
|
|
- new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, transparent: true } )
|
|
|
-
|
|
|
- ];
|
|
|
-
|
|
|
- group1 = THREE.SceneUtils.createMultiMaterialObject( geometry, materials );
|
|
|
- group1.position.x = -400;
|
|
|
- group1.rotation.x = -1.87;
|
|
|
- scene.add( group1 );
|
|
|
+ mesh = new THREE.Mesh( geometry, material );
|
|
|
+ wireframe = new THREE.Mesh( geometry, wireframeMaterial );
|
|
|
+ mesh.add( wireframe );
|
|
|
+ mesh.position.x = - 400;
|
|
|
+ mesh.rotation.x = - 1.87;
|
|
|
+ scene.add( mesh );
|
|
|
|
|
|
- group2 = THREE.SceneUtils.createMultiMaterialObject( geometry2, materials );
|
|
|
- group2.position.x = 400;
|
|
|
- group2.rotation.x = 0;
|
|
|
- scene.add( group2 );
|
|
|
+ mesh = new THREE.Mesh( geometry2, material );
|
|
|
+ wireframe = new THREE.Mesh( geometry2, wireframeMaterial );
|
|
|
+ mesh.add( wireframe );
|
|
|
+ mesh.position.x = 400;
|
|
|
+ scene.add( mesh );
|
|
|
|
|
|
- group3 = THREE.SceneUtils.createMultiMaterialObject( geometry3, materials );
|
|
|
- group3.position.x = 0;
|
|
|
- group3.rotation.x = 0;
|
|
|
- scene.add( group3 );
|
|
|
+ mesh = new THREE.Mesh( geometry3, material );
|
|
|
+ wireframe = new THREE.Mesh( geometry3, wireframeMaterial );
|
|
|
+ mesh.add( wireframe );
|
|
|
+ scene.add( mesh );
|
|
|
|
|
|
renderer = new THREE.WebGLRenderer( { antialias: true } );
|
|
|
renderer.setPixelRatio( window.devicePixelRatio );
|