<!DOCTYPE html>
<html lang="en">
	<head>
		<title>three.js webgl - scenes transition</title>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
		<style>
			body {
				font-family: Monospace;
				background-color: #f0f0f0;
				margin: 0px;
				overflow: hidden;
			}

			.info {
				position: absolute;
				background-color: black;
				opacity: 0.8;
				color: white;
				text-align: center;
				top: 0px;
				width: 100%;
			}

			.info a {
				color: #00ffff;
			}
		</style>
	</head>
	<body>

		<div class="info">
			<a href="http://threejs.org" target="_blank">three.js</a> webgl scene transitions - by <a href="https://twitter.com/fernandojsg">fernandojsg</a> - <a href="https://github.com/kile/three.js-demos">github</a>
		</div>

		<div id="container"></div>

		<script src="../build/three.min.js"></script>
		<script src="js/libs/stats.min.js"></script>
		<script src="js/libs/dat.gui.min.js"></script>
		<script src="js/crossfade/scenes.js"></script>
		<script src="js/crossfade/gui.js"></script>
		<script src="js/crossfade/transition.js"></script>
		
		<script>

			var container, stats;
			var renderer;
			var transition;
			
			var clock = new THREE.Clock();

			init();
			animate();
			
			function init() {

				initGUI();
				
				container = document.getElementById( "container" );

				renderer = new THREE.WebGLRenderer( { antialias: true } );
				renderer.setPixelRatio( window.devicePixelRatio );
				renderer.setSize( window.innerWidth, window.innerHeight );
				renderer.sortObjects = false;
				container.appendChild( renderer.domElement );

				stats = new Stats();
				stats.domElement.style.position = 'absolute';
				stats.domElement.style.top = '0px';
				container.appendChild( stats.domElement );

				sceneA = new Scene( "cube", 5000, 1200, 120, new THREE.Vector3(0,-0.4,0), 0xffffff );
				sceneB = new Scene( "sphere", 500, 2000, 50, new THREE.Vector3(0,0.2,0.1), 0x000000 );
				
				transition = new Transition(sceneA,sceneB);
				
			}

			function animate() {

				requestAnimationFrame( animate );

				render();
				stats.update();

			}
			
			function render() {
				
				transition.render( clock.getDelta() );
				
			}

		</script>

	</body>
	
</html>