three.js ~ example ~ Mr.doob

2012-01-05 ~

JavaScript

var π = Math.PI;

function animate(three){
    three.plane.rotation.x += 0.05;

    // render
    three.renderer.render(three.scene, three.camera);

    // request new frame
    requestAnimationFrame(function (){
        animate(three);
    });
}

    var renderer = new THREE.WebGLRenderer();
    renderer.setSize(300, 300);

    document.body.appendChild(renderer.domElement);

    // camera
    var camera = new THREE.PerspectiveCamera(100, window.innerWidth / window.innerHeight, 1, 10000);
    camera.position.y = -450;
    camera.position.z = 400;
    camera.rotation.x = 45 * π / 180;

    // scene
    var scene = new THREE.Scene();
    scene.add(camera);

    // plane
    var plane = new THREE.Mesh(new THREE.PlaneGeometry(300, 300), new THREE.MeshBasicMaterial({
        color: 'black'
    }));
    plane.overdraw = true;
    scene.add(plane);

    // create wrapper object that contains three.js objects
    var three = {
        renderer: renderer,
        camera: camera,
        scene: scene,
        plane: plane
    };

    animate(three);