three.js ~ spinning plane and mesh example

by Thanos Saringelos

JavaScript

var camera, scene, renderer, geometry, material, mesh;
var width = 2000, height = 2000;
var tileX = 50, tileY = 50;
var time = 0;

init();
animate();

function init() {

    scene = new THREE.Scene();

    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000 );
    camera.position.x = 0;
    camera.position.y = 550;
    camera.position.z = 2000;
    scene.add(camera);

     
    renderer = new THREE.WebGLRenderer( );
    renderer.setSize(window.innerWidth, window.innerHeight);
    
    geometry = new THREE.PlaneGeometry(width, height, tileX, tileY);

    material = new THREE.MeshPhongMaterial();
    material.map = THREE.ImageUtils.loadTexture("http://i.imgur.com/Ba11mjd.png");
    material.map.wrapS = material.map.wrapT = THREE.RepeatWrapping;
    material.map.repeat.set(tileX, tileY);
    material.side = THREE.DoubleSide;
    mesh = new THREE.Mesh(geometry, material);
    mesh.receiveShadow = true;
    mesh.rotation.x = -0.5 * Math.PI;
    mesh.rotation.z = 0.8;
    scene.add(mesh);
    
    var ambientLight = new THREE.AmbientLight(0x114488);
    scene.add(ambientLight);
       
 	var spotLight = new THREE.SpotLight(0x441188);
    spotLight.position.set(0, 10000, 0);
    spotLight.castShadow = true;
    scene.add(spotLight);
	
    document.body.appendChild(renderer.domElement);
}

function animate() {
    time = new Date().getTime();
    render();
    requestAnimationFrame(animate);
}

function render() {
    var x = camera.position.x;
    var z = camera.position.z;
    var rotSpeed = 0.001;
    
    mesh.rotation.x += 0.1 ;
    mesh.rotation.y += 0.1 ;
    mesh.rotation.z += 0.1 ;
    camera.lookAt(scene.position);
     console.log(mesh)
    renderer.render(scene, camera);
}