Pure THREE.JS template

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src='//rawgit.com/mrdoob/stats.js/master/build/stats.min.js'></script>
<script src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/OrbitControls.js">
</script>

JavaScript

var scene, renderer, camera;
var cube;
var controls, stats;

init();
animate();

function addPlane() {
  var size = 10000;
  //size = 1;
	var geometry = new THREE.PlaneBufferGeometry(size, size);
  
  var material = new THREE.MeshBasicMaterial({color: 0x0000ff});
  var mesh = new THREE.Mesh(geometry, material);
  mesh.rotation.x = - Math.PI / 2;
  scene.add(mesh);
}

function init()
{
  stats=new Stats();
  stats.showPanel( 0 ); // 0: fps, 1: ms, 2: mb, 3+: custom
  document.body.appendChild( stats.dom );
	renderer = new THREE.WebGLRenderer( {antialias:true} );
	var width = window.innerWidth;
	var height = window.innerHeight;
	renderer.setSize (width, height);
	document.body.appendChild (renderer.domElement);

	scene = new THREE.Scene();
	
	for (var i = 0; i < 50; i++) {
  	addPlane();
  }

	camera = new THREE.PerspectiveCamera (45, width/height, 1, 10000);
	camera.position.y = 160;
	camera.position.z = 400;
	camera.lookAt (new THREE.Vector3(0,0,0));

    controls = new THREE.OrbitControls (camera, renderer.domElement);
    
	var gridXZ = new THREE.GridHelper(100, 10);
	gridXZ.setColors( new THREE.Color(0xff0000), new THREE.Color(0xffffff) );
	scene.add(gridXZ);

	var pointLight = new THREE.PointLight (0xffffff);
	pointLight.position.set (0,300,200);
	scene.add (pointLight);
	
	window.addEventListener ('resize', onWindowResize, false);
}

function onWindowResize ()
{
	camera.aspect = window.innerWidth / window.innerHeight;
	camera.updateProjectionMatrix();
	renderer.setSize (window.innerWidth, window.innerHeight);
}

function animate()
{
	controls.update();
  stats.update();
    requestAnimationFrame ( animate );  
	renderer.render (scene, camera);
}