Three.js simple rotating cube tutorial

by Paul West

HTML

<script src="https://threejs.org/build/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>

CSS

body {
    margin: 0;
    overflow: hidden;
}

JavaScript

var scene = new THREE.Scene();
var clock = new THREE.Clock();
var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 300);
camera.position.set(2, 3, 4);

var renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

var controls = new THREE.OrbitControls(camera, renderer.domElement);

var dirLight = new THREE.DirectionalLight(0xffffff, 0.5);
dirLight.position.set(-5, 10, 5);
scene.add(dirLight);
scene.add(new THREE.AmbientLight(0xffffff, 0.5));

var geometry = new THREE.BoxGeometry(2, 1, 2);
var material = new THREE.MeshLambertMaterial({
    color: 0x4499ff
});
var cube = new THREE.Mesh(geometry, material);
	 
scene.add(cube);


function render() {
    
    requestAnimationFrame(render);


    renderer.render(scene, camera);
}

render();