浏览代码

Buffergeometry drawcalls example syntax format

Fernando Serrano 10 年之前
父节点
当前提交
9d27fb9d89
共有 1 个文件被更改,包括 39 次插入42 次删除
  1. 39 42
      examples/webgl_buffergeometry_drawcalls.html

+ 39 - 42
examples/webgl_buffergeometry_drawcalls.html

@@ -42,6 +42,7 @@
 		<script src="js/libs/stats.min.js"></script>
 
 		<script>
+
 			var group;
 			var container, stats;
 	        var particlesData = [];
@@ -49,14 +50,12 @@
 			var positions,colors;
 			var pointCloud;
 			var particlePositions;
+			var linesMesh;
 
 			var maxParticleCount = 1000;
             var particleCount = 500;
 			var r = 800;
-
-			var rHalf = r/2;
-
-			var linesMesh;
+			var rHalf = r / 2;
 
 			var effectController = {
 				showDots: true,
@@ -87,6 +86,7 @@
 			}
 
 			function init() {
+
 				initGUI();
 
 				container = document.getElementById( 'container' );
@@ -122,19 +122,19 @@
 				particles = new THREE.BufferGeometry();
 				particlePositions = new Float32Array( maxParticleCount * 3 );
 
-			   	for (var i = 0; i < maxParticleCount; i++) {
+			   	for ( var i = 0; i < maxParticleCount; i++ ) {
 
 					var x = Math.random() * r - r / 2;
 					var y = Math.random() * r - r / 2;
 					var z = Math.random() * r - r / 2;
 	
-		            particlePositions[i*3] = x;
-					particlePositions[i*3+1] = y;
-					particlePositions[i*3+2] = z;
+		            particlePositions[ i * 3     ] = x;
+					particlePositions[ i * 3 + 1 ] = y;
+					particlePositions[ i * 3 + 2 ] = z;
 
 		            // add it to the geometry
 		            particlesData.push({
-		            	velocity: new THREE.Vector3(-1+Math.random()*2, -1+Math.random()*2, -1+Math.random()*2),
+		            	velocity: new THREE.Vector3( -1 + Math.random() * 2, -1 + Math.random() * 2,  -1 + Math.random() * 2 ),
 		            	numConnections: 0
 		            });
 
@@ -215,59 +215,56 @@
 				var colorpos=0;
 				numConnected = 0;
 
-    			for (var i = 0; i < particleCount; i++)
-    				particlesData[i].numConnections = 0;
+    			for ( var i = 0; i < particleCount; i++ )
+    				particlesData[ i ].numConnections = 0;
 
-    			for (var i = 0; i < particleCount; i++) {
+    			for ( var i = 0; i < particleCount; i++ ) {
 
     	    		// get the particle
 	        		var particleData = particlesData[i];
 
-					particlePositions[i*3]+=particleData.velocity.x;
-					particlePositions[i*3+1]+=particleData.velocity.y;
-					particlePositions[i*3+2]+=particleData.velocity.z;
+					particlePositions[ i * 3     ] += particleData.velocity.x;
+					particlePositions[ i * 3 + 1 ] += particleData.velocity.y;
+					particlePositions[ i * 3 + 2 ] += particleData.velocity.z;
 
-	        		if (particlePositions[i*3+1]<-rHalf || particlePositions[i*3+1]>rHalf)
-	            		particleData.velocity.y=-particleData.velocity.y;
+	        		if ( particlePositions[ i * 3 + 1 ] < -rHalf || particlePositions[ i * 3 + 1 ] > rHalf )
+	            		particleData.velocity.y = -particleData.velocity.y;
 
-			        if (particlePositions[i*3]<-rHalf || particlePositions[i*3]>rHalf)
-			            particleData.velocity.x=-particleData.velocity.x;
+			        if ( particlePositions[ i * 3 ] < -rHalf || particlePositions[ i * 3 ] > rHalf )
+			            particleData.velocity.x = -particleData.velocity.x;
 
-			        if (particlePositions[i*3+2]<-rHalf || particlePositions[i*3+2]>rHalf)
-			            particleData.velocity.z=-particleData.velocity.z;
+			        if ( particlePositions[ i * 3 + 2 ] < -rHalf || particlePositions[ i * 3 + 2 ] > rHalf )
+			            particleData.velocity.z = -particleData.velocity.z;
 
-		        	//if (effectController.maxConnections
-		        	if (effectController.limitConnections && particleData.numConnections >= effectController.maxConnections)
+		        	if ( effectController.limitConnections && particleData.numConnections >= effectController.maxConnections )
 		        		continue;
 
 			        // Check collision
-			        for (var j = i+1; j < particleCount; j++) {
+			        for ( var j = i + 1; j < particleCount; j++ ) {
 
-		            	var particleDataB = particlesData[j];
-		        		if (effectController.limitConnections && particleDataB.numConnections >= effectController.maxConnections)
+		            	var particleDataB = particlesData[ j ];
+		        		if ( effectController.limitConnections && particleDataB.numConnections >= effectController.maxConnections )
 			        		continue;
 						
-						var dx = particlePositions[i*3] - particlePositions[j*3];
-						var dy = particlePositions[i*3+1] - particlePositions[j*3+1];
-						var dz = particlePositions[i*3+2] - particlePositions[j*3+2];
-						var dist = Math.sqrt(dx*dx+dy*dy+dz*dz);
-
-			            //var dist = particle.distanceTo(particleB);
+						var dx = particlePositions[ i * 3     ] - particlePositions[ j * 3     ];
+						var dy = particlePositions[ i * 3 + 1 ] - particlePositions[ j * 3 + 1 ];
+						var dz = particlePositions[ i * 3 + 2 ] - particlePositions[ j * 3 + 2 ];
+						var dist = Math.sqrt( dx * dx + dy * dy + dz * dz );
 
-			            if (dist < effectController.minDistance) {
+			            if ( dist < effectController.minDistance ) {
 				        	
 							particleData.numConnections++;
 							particleDataB.numConnections++;
 
-			                var alpha = 1.0-dist/effectController.minDistance+0.2;
+			                var alpha = 1.0 - dist / effectController.minDistance + 0.2;
 
-			                positions[ vertexpos++ ] = particlePositions[i*3];
-			                positions[ vertexpos++ ] = particlePositions[i*3+1];
-			                positions[ vertexpos++ ] = particlePositions[i*3+2];
+			                positions[ vertexpos++ ] = particlePositions[ i * 3     ];
+			                positions[ vertexpos++ ] = particlePositions[ i * 3 + 1 ];
+			                positions[ vertexpos++ ] = particlePositions[ i * 3 + 2 ];
 
-			                positions[ vertexpos++ ] = particlePositions[j*3];
-			                positions[ vertexpos++ ] = particlePositions[j*3+1];
-			                positions[ vertexpos++ ] = particlePositions[j*3+2];
+			                positions[ vertexpos++ ] = particlePositions[ j * 3     ];
+			                positions[ vertexpos++ ] = particlePositions[ j * 3 + 1 ];
+			                positions[ vertexpos++ ] = particlePositions[ j * 3 + 2 ];
 			               
 
 			                colors[ colorpos++ ] = alpha;
@@ -284,7 +281,7 @@
 			 	}
 
 
-        		linesMesh.geometry.drawcalls[0].count = numConnected*2;
+        		linesMesh.geometry.drawcalls[ 0 ].count = numConnected * 2;
         		linesMesh.geometry.attributes.position.needsUpdate = true;
         		linesMesh.geometry.attributes.color.needsUpdate = true;
 
@@ -301,7 +298,7 @@
 
 				var time = Date.now() * 0.001;
 
-				group.rotation.y = time*0.1;
+				group.rotation.y = time * 0.1;
 				renderer.render( scene, camera );
 
 			}