3D Earth

by Pat Cullen

JavaScript

"use strict";
console.clear();
var createEarth	= function(){
	var geometry	= new THREE.SphereGeometry(0.5, 32, 32)
	var material	= new THREE.MeshPhongMaterial({
		map		: THREE.ImageUtils.loadTexture('https://scontent-a.xx.fbcdn.net/hphotos-ash3/t31.0-8/1941355_10151983298050764_805168168706328896_o.jpg'),
        bumpMap		: THREE.ImageUtils.loadTexture('https://scontent-a.xx.fbcdn.net/hphotos-frc1/t31.0-8/858069_10151983297935764_6261247834758414287_o.jpg'),
		bumpScale	: 0.07,
		specularMap	: THREE.ImageUtils.loadTexture('https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn2/t31.0-8/1511471_10151983297980764_3548489629574835577_o.jpg'),
		specular	: new THREE.Color('grey'),
	})
	var mesh	= new THREE.Mesh(geometry, material)
	return mesh	
};

var createStarfield	= function(){
	var texture	= THREE.ImageUtils.loadTexture('https://scontent-a.xx.fbcdn.net/hphotos-frc3/t31.0-8/1655659_10151983298745764_8598123334132368212_o.jpg')
	var material	= new THREE.MeshBasicMaterial({
		map	: texture,
		side	: THREE.BackSide
	})
	var geometry	= new THREE.SphereGeometry(50, 32, 32)
	var mesh	= new THREE.Mesh(geometry, material)
	return mesh	
};

	var renderer	= new THREE.WebGLRenderer({
		antialias	: true
	});
	renderer.setSize( window.innerWidth, window.innerHeight );
	document.body.appendChild( renderer.domElement );
	renderer.shadowMapEnabled	= true
	
	var updateFcts	= [];
	var scene	= new THREE.Scene();
	var camera	= new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.01, 100 );
	camera.position.z = 2.3;

	var light	= new THREE.AmbientLight( 0x999999 )
	scene.add( light )

	var light	= new THREE.DirectionalLight( 0xbbbbbb, 1 )
	light.position.set(5,5,5)
	scene.add( light )
	light.castShadow	= true
	light.shadowCameraNear	= 0.01
	light.shadowCameraFar	= 15
	light.shadowCameraFov	= 45
	light.shadowCameraLeft	= -1
	light.shadowCameraRight	=  1
	light.shadowCameraTop	=  1
	light.shadowCameraBottom= -1

	light.shadowBias	= 0.001
	light.shadowDarkness	=...