|
@@ -115,8 +115,8 @@
|
|
|
|
|
|
var container3 = document.getElementById( 'container3' );
|
|
|
|
|
|
- container3.style.left = e.pageX - container3.clientWidth / 2 + "px"
|
|
|
- container3.style.top = e.pageY - container3.clientHeight / 2 + "px"
|
|
|
+ container3.style.left = e.pageX - container3.clientWidth / 2 + "px";
|
|
|
+ container3.style.top = e.pageY - container3.clientHeight / 2 + "px";
|
|
|
|
|
|
}
|
|
|
|
|
@@ -225,9 +225,7 @@
|
|
|
group2.rotation.x = 0;
|
|
|
scene.add( group2 );
|
|
|
|
|
|
- group3 = new THREE.Group();
|
|
|
- group3.add( new THREE.Mesh( new THREE.BufferGeometry().fromGeometry( geometry3 ), materials[0] ) );
|
|
|
- group3.add( new THREE.Mesh( geometry3, materials[1] ) );
|
|
|
+ group3 = THREE.SceneUtils.createMultiMaterialObject( geometry3, materials );
|
|
|
group3.name = 'rotating ball';
|
|
|
group3.position.x = 0;
|
|
|
group3.rotation.x = 0;
|
|
@@ -238,25 +236,31 @@
|
|
|
|
|
|
function updateScene () {
|
|
|
|
|
|
- var group = scene.getObjectByName( 'rotating ball' )
|
|
|
+ var group = scene.getObjectByName( 'rotating ball' );
|
|
|
group.rotation.x += Math.PI / 600;
|
|
|
|
|
|
var geometry = group.children[0].geometry;
|
|
|
- var array = geometry.attributes.color.array;
|
|
|
|
|
|
- for (var i = 0; i < array.length; i ++) {
|
|
|
+ for (var i = 0; i < geometry.faces.length; i ++) {
|
|
|
|
|
|
- array[i] = ( array[i] + 0.99 ) % 1.0;
|
|
|
+ var f = geometry.faces[ i ];
|
|
|
|
|
|
- }
|
|
|
+ for( var j = 0; j < 3; j ++ ) {
|
|
|
+
|
|
|
+ var color = f.vertexColors[ j ];
|
|
|
+ color.setHex( ( color.getHex() + 0xfdfdfd ) % 0xffffff );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- geometry.attributes.color.needsUpdate = true;
|
|
|
+ geometry.colorsNeedUpdate = true;
|
|
|
|
|
|
}
|
|
|
|
|
|
function App( container, fullWidth, fullHeight ) {
|
|
|
|
|
|
- var container, stats;
|
|
|
+ var stats;
|
|
|
|
|
|
var camera, renderer;
|
|
|
|