Browse Source

Changed few more examples to use requestAnimationFrame.

Interestingly, sometimes it seems to go nuts when there are more renderers active at the same time. With uqbiquity, it works ok when using "container" div as element parameter, with large geometry example this doesn't work (calls to loop happen rarely).
alteredq 14 years ago
parent
commit
1e34df61f0

+ 7 - 5
examples/misc_uqbiquity_test.html

@@ -87,11 +87,14 @@
 		<script type="text/javascript" src="../src/extras/primitives/Plane.js"></script>
 		<script type="text/javascript" src="../src/extras/primitives/Plane.js"></script>
 		<script type="text/javascript" src="../src/extras/primitives/Cylinder.js"></script>
 		<script type="text/javascript" src="../src/extras/primitives/Cylinder.js"></script>
 		<script type="text/javascript" src="../src/extras/objects/MarchingCubes.js"></script>
 		<script type="text/javascript" src="../src/extras/objects/MarchingCubes.js"></script>
+		<script type="text/javascript" src="../src/extras/MiscUtils.js"></script>
 
 
 		<script type="text/javascript" src="js/Stats.js"></script>
 		<script type="text/javascript" src="js/Stats.js"></script>
 
 
 		<script type="text/javascript">
 		<script type="text/javascript">
 
 
+			window.onload = init;
+			
 			var SCREEN_WIDTH = window.innerWidth / 3;
 			var SCREEN_WIDTH = window.innerWidth / 3;
 			var SCREEN_HEIGHT = window.innerHeight;
 			var SCREEN_HEIGHT = window.innerHeight;
 			var AMOUNT = 100;
 			var AMOUNT = 100;
@@ -110,11 +113,6 @@
 
 
 			document.addEventListener( 'mousemove', onDocumentMouseMove, false );
 			document.addEventListener( 'mousemove', onDocumentMouseMove, false );
 
 
-			init();
-			// loop();
-			setInterval( loop, 1000 / 60 );
-
-
 			function init() {
 			function init() {
 
 
 				container = document.createElement('div');
 				container = document.createElement('div');
@@ -236,6 +234,8 @@
 				stats.domElement.style.position = 'absolute';
 				stats.domElement.style.position = 'absolute';
 				stats.domElement.style.top = '0px';
 				stats.domElement.style.top = '0px';
 				container.appendChild( stats.domElement );
 				container.appendChild( stats.domElement );
+				
+				loop();
 
 
 			}
 			}
 
 
@@ -247,6 +247,8 @@
 			}
 			}
 
 
 			function loop() {
 			function loop() {
+				
+				requestAnimationFrame( loop, container );
 
 
 				camera.position.x += ( mouseX - camera.position.x ) * .05;
 				camera.position.x += ( mouseX - camera.position.x ) * .05;
 				camera.position.y += ( - mouseY - camera.position.y ) * .05;
 				camera.position.y += ( - mouseY - camera.position.y ) * .05;

+ 7 - 5
examples/webgl_geometry_blenderexport_colors.html

@@ -12,6 +12,7 @@
 
 
 				background-color: #000;
 				background-color: #000;
 				margin: 0px;
 				margin: 0px;
+				padding: 0px;
 				overflow: hidden;
 				overflow: hidden;
 			}
 			}
 
 
@@ -22,7 +23,6 @@
 			}
 			}
 
 
 			a {
 			a {
-
 				color: #0080ff;
 				color: #0080ff;
 			}
 			}
 
 
@@ -39,6 +39,8 @@
 		<script type="text/javascript">
 		<script type="text/javascript">
 
 
 			if ( ! THREE.Detector.webgl ) THREE.Detector.addGetWebGLMessage();
 			if ( ! THREE.Detector.webgl ) THREE.Detector.addGetWebGLMessage();
+			
+			window.onload = init;
 
 
 			var container, stats;
 			var container, stats;
 
 
@@ -52,10 +54,6 @@
 			var windowHalfY = window.innerHeight / 2;
 			var windowHalfY = window.innerHeight / 2;
 
 
 
 
-			init();
-			setInterval( loop, 1000 / 60 );
-
-
 			function init() {
 			function init() {
 
 
 				container = document.getElementById( 'container' );
 				container = document.getElementById( 'container' );
@@ -86,6 +84,8 @@
 				container.appendChild( stats.domElement );
 				container.appendChild( stats.domElement );
 
 
 				document.addEventListener( 'mousemove', onDocumentMouseMove, false );
 				document.addEventListener( 'mousemove', onDocumentMouseMove, false );
+				
+				loop();
 
 
 			}
 			}
 
 
@@ -109,6 +109,8 @@
 
 
 			function loop() {
 			function loop() {
 
 
+				requestAnimationFrame( loop, renderer.domElement );
+				
 				camera.position.x += ( mouseX - camera.position.x ) * 0.05;
 				camera.position.x += ( mouseX - camera.position.x ) * 0.05;
 				camera.position.y += ( - mouseY - camera.position.y ) * 0.05;
 				camera.position.y += ( - mouseY - camera.position.y ) * 0.05;
 
 

+ 6 - 4
examples/webgl_geometry_dynamic.html

@@ -51,6 +51,8 @@
 				
 				
 			}
 			}
 
 
+			window.onload = init;
+			
 			var container, stats;
 			var container, stats;
 
 
 			var camera, scene, renderer;
 			var camera, scene, renderer;
@@ -70,10 +72,6 @@
 			var windowHalfY = window.innerHeight / 2;
 			var windowHalfY = window.innerHeight / 2;
 
 
 
 
-			init();
-			setInterval( loop, 1000 / 60 );
-
-
 			function init() {
 			function init() {
 
 
 				container = document.getElementById( 'container' );
 				container = document.getElementById( 'container' );
@@ -146,6 +144,8 @@
 				
 				
 				document.addEventListener( 'keydown', onDocumentKeyDown, false );
 				document.addEventListener( 'keydown', onDocumentKeyDown, false );
 				document.addEventListener( 'keyup', onDocumentKeyUp, false );
 				document.addEventListener( 'keyup', onDocumentKeyUp, false );
+				
+				loop();
 
 
 			}
 			}
 
 
@@ -224,6 +224,8 @@
 			}
 			}
 			
 			
 			function loop() {
 			function loop() {
+			
+				requestAnimationFrame( loop, renderer.domElement );
 
 
 				var time = new Date().getTime() * 0.01;
 				var time = new Date().getTime() * 0.01;