1 |
<!DOCTYPE html> |
2 |
<html> |
3 |
|
4 |
<head> |
5 |
<script type="text/javascript" src="js/lib/three.js"></script> |
6 |
<script type="text/javascript" src="js/lib/physi.js"></script> |
7 |
|
8 |
<script type="text/javascript"> |
9 |
|
10 |
'use strict'; |
11 |
|
12 |
Physijs.scripts.worker = 'js/lib/physijs_worker.js'; |
13 |
Physijs.scripts.ammo = 'ammo.js'; |
14 |
|
15 |
var initScene, render, renderer, scene, camera, box; |
16 |
|
17 |
initScene = function() { |
18 |
renderer = new THREE.WebGLRenderer({ antialias: true }) ; |
19 |
renderer.setSize( window.innerWidth, window.innerHeight ); |
20 |
document.getElementById( 'viewport' ).appendChild( renderer.domElement ); |
21 |
|
22 |
scene = new Physijs.Scene; |
23 |
|
24 |
camera = new THREE.PerspectiveCamera( |
25 |
35, |
26 |
window.innerWidth / window.innerHeight, |
27 |
1, |
28 |
1000 |
29 |
); |
30 |
camera.position.set( 60, 50, 60 ); |
31 |
camera.lookAt( scene.position ); |
32 |
scene.add( camera ); |
33 |
|
34 |
// Box |
35 |
box = new Physijs.BoxMesh( |
36 |
new THREE.CubeGeometry( 5, 5, 5 ), |
37 |
new THREE.MeshBasicMaterial({ color: 0x888888 }) |
38 |
); |
39 |
scene.add( box ); |
40 |
|
41 |
requestAnimationFrame( render ); |
42 |
}; |
43 |
|
44 |
render = function() { |
45 |
scene.simulate(); // run physics |
46 |
renderer.render( scene, camera); // render the scene |
47 |
requestAnimationFrame( render ); |
48 |
}; |
49 |
|
50 |
window.onload = initScene; |
51 |
|
52 |
</script> |
53 |
</head> |
54 |
<body> |
55 |
<div id="viewport"></div> |
56 |
</body> |
57 |
</html> |