Rubik's Cube

by ElijahCirioli

HTML

<script src="https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/js/controls/OrbitControls.js"></script>

JavaScript

var camera, scene, renderer, geometry, material, mesh, controls;

init();
animate();

function init() {
	scene = new THREE.Scene();

	camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 10000);
	camera.position.z = 1000;
	scene.add(camera);

	geometry = new THREE.CubeGeometry(300, 300, 300);
	material = new THREE.MeshNormalMaterial();

	mesh = new THREE.Mesh(geometry, material);
	scene.add(mesh);

	renderer = new THREE.CanvasRenderer();
	renderer.setSize(window.innerWidth, window.innerHeight);

	controls = new THREE.OrbitControls(camera, renderer.domElement);
	controls.enableZoom = false;
	controls.enablePan = false;

	document.body.appendChild(renderer.domElement);
}

function animate() {
	requestAnimationFrame(animate);
	controls.update();
	render();
}

function render() {
	renderer.render(scene, camera);
}