three.js dev template
HTML
<script src="https://rawgit.com/mrdoob/three.js/dev/build/three.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/dev/examples/js/controls/OrbitControls.js"></script>
CSS
body {
background-color: #000;
margin: 0px;
overflow: hidden;
}
JavaScript
renderer = new THREE.WebGLRenderer({ antialias: true});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.set( 0, 0, 300 );
//camera.lookAt({x:0,y:0,z:0});
scene.add(camera);
cube = new THREE.Mesh(new THREE.CubeGeometry(50, 50, 20), new THREE.MeshLambertMaterial({color: 0xCC0000}));
//cube.position.y = 15;
cube.rotation.y = Math.PI/4;
cube.rotation.x = Math.PI/4;
scene.add(cube);
plane = new THREE.Mesh(new THREE.PlaneGeometry(200,200), new THREE.MeshLambertMaterial({color: 0x22FF11}));
scene.add(plane);
plane.position.y = -36
plane.rotation.x = -Math.PI/4;
scene.add( new THREE.AmbientLight( 0x444444) );
var light_spot_color = 0xffffff;
var light_spot_intensity = 0.7;
//var light = new THREE.SpotLight(light_spot_color, light_spot_intensity);
//light.position.set(-30, 0, 50);
//light.castShadow = true;
//scene.add(light);
var light = new THREE.DirectionalLight(0xffffff);
light.position.set(-30, 0, 50);
//light.shadow.camera.rotation.x = Math.PI/4;
//light.shadow.camera.rotation.y = Math.PI/4;
scene.add(light);
var helper = new THREE.CameraHelper(light.shadow.camera );
scene.add( helper );
renderer.shadowMap.enabled = true;
renderer.setClearColor( 0xfff6e6 );
renderer.shadowCameraNear = 3;
renderer.shadowCameraFar = camera.far;
renderer.shadowCameraFov = 50;
renderer.shadowMapBias = 0.0039;
renderer.shadowMapDarkness = 0.5;
renderer.shadowMapWidth = 1024;
renderer.shadowMapHeight = 1024;
light.castShadow = true;
cube.castShadow = true;
plane.receiveShadow = true;
...