aboutsummaryrefslogtreecommitdiff
path: root/demos/webgl/demo_old.html
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-05-01 12:13:55 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-05-01 12:13:55 -0700
commit954b5d83dac515007883af39c838406d31f468e9 (patch)
tree4aff5b02026462ec4bd87429a92f665aa5c085ed /demos/webgl/demo_old.html
parentab754ce645f4d89fa92e25545523cc9c3c2eff21 (diff)
prepare for new bullet demo
Diffstat (limited to 'demos/webgl/demo_old.html')
-rw-r--r--demos/webgl/demo_old.html89
1 files changed, 89 insertions, 0 deletions
diff --git a/demos/webgl/demo_old.html b/demos/webgl/demo_old.html
new file mode 100644
index 00000000..447dace6
--- /dev/null
+++ b/demos/webgl/demo_old.html
@@ -0,0 +1,89 @@
+<html>
+ <head>
+ <title>Bullet/WebGL Demo</title>
+ <script type="text/javascript" src="glge_math.js"></script>
+ <script type="text/javascript" src="glge.js"></script>
+ <script type="text/javascript" src="bullet.js"></script>
+ <script ty[e="text/javascript" src="bullet_demo.js"></script>
+ <style type="text/css">
+ body { background-color: #eee; }
+ </style>
+ </head>
+ <body>
+ <center>
+ <form onsubmit="run([]); prepareBulletDemo(); return false">
+ <input type="submit" value="restart">
+ </form>
+
+ <canvas id="canvas" width="500" height="500"></canvas>
+ <script type="text/javascript">
+ var doc = new GLGE.Document();
+
+ doc.onLoad = function() {
+ prepareBulletDemo();
+
+ var boxes = [];
+
+ function simulatePhysics(diff) {
+ simulateBulletDemo(diff);
+ for (var i = 0; i < 5; i++)
+ applyBulletObject(boxes[i], readBulletObject(i+1));
+ }
+
+ var renderer = new GLGE.Renderer(document.getElementById("canvas"));
+ var scene = doc.getElement("mainscene");
+ renderer.setScene(scene);
+
+ var mesh = doc.getElement("Box");
+ for (var i = 0; i < 5; i++) {
+ var box = new GLGE.Object('box_' + i);
+ box.setMesh(mesh);
+ box.setMaterial(doc.getElement("boxmaterial"+(i+1)));
+ box.setId('box_' + i);
+ box.setLoc(i*2, 10, 0);
+ box.setScale(1, 1, 1);
+ scene.addChild(box);
+ boxes.push(box);
+ }
+
+ var t = Date.now();
+ var lastHUD = 0;
+ var diffs = 0, num = 0;
+ function render() {
+ var now = Date.now();
+ var diff = (now - t)/1000;
+
+ // Simulate
+ simulatePhysics(diff);
+
+ // Render
+ renderer.render();
+
+ // Show FPS
+ diffs += diff;
+ num++;
+ if (now - lastHUD > 250) {
+ document.getElementById('out').innerHTML = '<b>FPS:' + Math.ceil(1/(diffs/num)) + '</b>';
+ lastHUD = now;
+ diffs = 0;
+ num = 0;
+ }
+ t = now;
+ }
+
+ setInterval(render, 1000/100);
+ }
+
+ doc.load("http://127.0.0.1:8991/scene.xml");
+ </script>
+ <br><br>
+ <div id="out">waka</div>
+ <br>
+ <b>Bullet/WebGL Demo</b>: The <a href="http://www.bulletphysics.com">Bullet physics engine</a>, compiled from C++ to JavaScript using <a href="http://emscripten.org">Emscripten</a>, with rendering by <a href="http://glge.org">GLGE</a> using WebGL.
+ <br><br>
+ Tested with Firefox 4 nightly builds (minefield) and Chrome 7 (requires --enable-webgl on the commandline); should work with any
+ <a href="http://www.khronos.org/webgl/wiki/Getting_a_WebGL_Implementation">browser that supports WebGL</a>
+ </center>
+ </body>
+</html>
+