css3d_sandbox.html 2.5 KB
Newer Older
M
Mr.doob 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<style>
			body {
				background-color: #ffffff;
				margin: 0;
				overflow: hidden;
			}
		</style>
	</head>
	<body>
		<script src="../build/three.min.js"></script>
M
Mr.doob 已提交
15 16 17

		<script src="js/controls/TrackballControls.js"></script>

M
Mr.doob 已提交
18
		<script src="js/renderers/CSS3DRenderer.js"></script>
M
Mr.doob 已提交
19

M
Mr.doob 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
		<script>

			var camera, scene, renderer;
			var geometry, material, mesh;

			var scene2, renderer2;

			var controls;

			init();
			animate();

			function init() {

				camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 1000 );
				camera.position.set( 200, 200, 200 );

37 38 39 40 41 42 43 44 45 46 47 48 49 50
				controls = new THREE.TrackballControls( camera );

				controls.rotateSpeed = 1.0;
				controls.zoomSpeed = 1.2;
				controls.panSpeed = 0.8;

				controls.noZoom = false;
				controls.noPan = false;

				controls.staticMoving = false;
				controls.dynamicDampingFactor = 0.3;

				controls.keys = [ 65, 83, 68 ];

M
Mr.doob 已提交
51 52
				scene = new THREE.Scene();

M
Mr.doob 已提交
53
				geometry = new THREE.BoxGeometry( 200, 200, 200 );
M
Mr.doob 已提交
54 55 56 57 58 59
				material = new THREE.MeshBasicMaterial( { color: 0x000000, wireframe: true, wireframeLinewidth: 1 } );

				mesh = new THREE.Mesh( geometry, material );
				scene.add( mesh );

				renderer = new THREE.CanvasRenderer();
60
				renderer.setClearColor( 0xffffff );
M
Mr.doob 已提交
61 62 63 64 65 66 67 68 69 70 71 72
				renderer.setSize( window.innerWidth, window.innerHeight );
				document.body.appendChild( renderer.domElement );

				//

				scene2 = new THREE.Scene();

				for ( var i = 0; i < 20; i ++ ) {

					var element = document.createElement( 'div' );
					element.style.width = '100px';
					element.style.height = '100px';
73
					element.style.background = new THREE.Color( Math.random() * 0xffffff ).getStyle();
M
Mr.doob 已提交
74 75 76 77 78 79 80 81 82 83 84

					var object = new THREE.CSS3DObject( element );
					object.position.x = Math.random() * 200 - 100;
					object.position.y = Math.random() * 200 - 100;
					object.position.z = Math.random() * 200 - 100;
					object.scale.x = Math.random() + 0.5;
					object.scale.y = Math.random() + 0.5;
					scene2.add( object );

				}

85
				//
M
Mr.doob 已提交
86

87 88 89 90 91
				renderer2 = new THREE.CSS3DRenderer();
				renderer2.setSize( window.innerWidth, window.innerHeight );
				renderer2.domElement.style.position = 'absolute';
				renderer2.domElement.style.top = 0;
				document.body.appendChild( renderer2.domElement );
M
Mr.doob 已提交
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

			}

			function animate() {

				requestAnimationFrame( animate );

				controls.update();

				renderer.render( scene, camera );
				renderer2.render( scene2, camera );

			}

		</script>
	</body>
</html>