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);
}