WestLangley 10 年之前
父节点
当前提交
0be228cfae
共有 1 个文件被更改,包括 29 次插入36 次删除
  1. 29 36
      examples/webgl_decals.html

+ 29 - 36
examples/webgl_decals.html

@@ -59,17 +59,10 @@
 			depthTest: true,
 			depthWrite: false,
 			polygonOffset: true,
-			polygonOffsetFactor: -4,
+			polygonOffsetFactor: - 4,
 			wireframe: false
-		});
-		/*decalMaterial = new THREE.MeshNormalMaterial( {
-			transparent: true,
-			depthTest: true,
-			depthWrite: false,
-			polygonOffset: true,
-			polygonOffsetFactor: -4,
-			shading: THREE.SmoothShading
-		});*/
+		} );
+
 		var decals = [];
 		var decalHelper, mouseHelper;
 		var p = new THREE.Vector3( 0, 0, 0 );
@@ -84,7 +77,9 @@
 			maxScale: 20,
 			rotate: true,
 			clear: function() {
+
 				removeDecals();
+
 			}
 		};
 
@@ -115,7 +110,7 @@
 			geometry.vertices.push( new THREE.Vector3(), new THREE.Vector3() );
 			geometry.dynamic = true;
 
-			line = new THREE.Line( geometry, new THREE.LineBasicMaterial( { linewidth: 4 }) );
+			line = new THREE.Line( geometry, new THREE.LineBasicMaterial( { linewidth: 4 } ) );
 			scene.add( line );
 
 			loadLeePerrySmith();
@@ -145,7 +140,7 @@
 			window.addEventListener( 'mouseup', function() {
 
 				checkIntersection();
-				if( !moved ) shoot();
+				if ( ! moved ) shoot();
 
 			} );
 
@@ -154,12 +149,16 @@
 
 			function onTouchMove( event ) {
 
-				if( event.changedTouches ) {
+				if ( event.changedTouches ) {
+
 					x = event.changedTouches[ 0 ].pageX;
 					y = event.changedTouches[ 0 ].pageY;
+
 				} else {
+
 					x = event.clientX;
 					y = event.clientY;
+
 				}
 
 				mouse.x = ( x / window.innerWidth ) * 2 - 1;
@@ -171,7 +170,7 @@
 
 			function checkIntersection() {
 
-				if( !mesh ) return;
+				if ( ! mesh ) return;
 
 				raycaster.setFromCamera( mouse, camera );
 
@@ -214,7 +213,7 @@
 			gui.open();
 
 			onWindowResize();
-			render();
+			animate();
 
 		}
 
@@ -224,14 +223,6 @@
 
 			loader.load( 'obj/leeperrysmith/LeePerrySmith.js', function( geometry ) {
 
-				geometry.verticesNeedUpdate = true;
-				geometry.elementsNeedUpdate = true;
-				geometry.morphTargetsNeedUpdate = true;
-				geometry.uvsNeedUpdate = true;
-				geometry.normalsNeedUpdate = true;
-				geometry.colorsNeedUpdate = true;
-				geometry.tangentsNeedUpdate = true;
-
 				var material = new THREE.MeshPhongMaterial( {
 					map: THREE.ImageUtils.loadTexture( 'obj/leeperrysmith/Map-COL.jpg' ),
 					specularMap: THREE.ImageUtils.loadTexture( 'obj/leeperrysmith/Map-SPEC.jpg' ),
@@ -252,7 +243,7 @@
 
 		function shoot() {
 
-			if( params.projection == 'camera' ) {
+			if ( params.projection == 'camera' ) {
 
 				var dir = camera.target.clone();
 				dir.sub( camera.position );
@@ -281,7 +272,7 @@
 			var scale = params.minScale + Math.random() * ( params.maxScale - params.minScale );
 			s.set( scale, scale, scale );
 
-			if( params.rotate) r.z = Math.random() * 2 * Math.PI;
+			if ( params.rotate ) r.z = Math.random() * 2 * Math.PI;
 
 			var material = decalMaterial.clone();
 			material.color.setHex( Math.random() * 0xffffff );
@@ -295,8 +286,10 @@
 		function removeDecals() {
 
 			decals.forEach( function( d ) {
+
 				scene.remove( d );
 				d = null;
+
 			} );
 			decals = [];
 
@@ -305,24 +298,24 @@
 		function mergeDecals() {
 
 			var merge = {};
-			decals.forEach(function (decal) {
+			decals.forEach( function ( decal ) {
 
 				var uuid = decal.material.uuid;
-				var d = merge[uuid] = merge[uuid] || {};
+				var d = merge[ uuid ] = merge[ uuid ] || {};
 				d.material = d.material || decal.material;
 				d.geometry = d.geometry || new THREE.Geometry();
-				d.geometry.merge(decal.geometry, decal.matrix);
+				d.geometry.merge( decal.geometry, decal.matrix );
 
-			});
+			} );
 
 			removeDecals();
 
-			for (var key in merge) {
+			for ( var key in merge ) {
 
-				var d = merge[key];
-				var mesh = new THREE.Mesh(d.geometry, d.material);
-				scene.add(mesh);
-				decals.push(mesh);
+				var d = merge[ key ];
+				var mesh = new THREE.Mesh( d.geometry, d.material );
+				scene.add( mesh );
+				decals.push( mesh );
 
 			}
 
@@ -337,9 +330,9 @@
 
 		}
 
-		function render() {
+		function animate() {
 
-			requestAnimationFrame( render );
+			requestAnimationFrame( animate );
 
 			renderer.render( scene, camera );