|  | @@ -101,64 +101,61 @@
 | 
	
		
			
				|  |  |  				center.z = - 1000;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				var video = document.getElementById( 'video' );
 | 
	
		
			
				|  |  | -				video.addEventListener( 'loadedmetadata', function () {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					var texture = new THREE.VideoTexture( video );
 | 
	
		
			
				|  |  | -					texture.minFilter = THREE.NearestFilter;
 | 
	
		
			
				|  |  | +				var texture = new THREE.VideoTexture( video );
 | 
	
		
			
				|  |  | +				texture.minFilter = THREE.NearestFilter;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					var width = 640, height = 480;
 | 
	
		
			
				|  |  | -					var nearClipping = 850, farClipping = 4000;
 | 
	
		
			
				|  |  | +				var width = 640, height = 480;
 | 
	
		
			
				|  |  | +				var nearClipping = 850, farClipping = 4000;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					geometry = new THREE.BufferGeometry();
 | 
	
		
			
				|  |  | +				geometry = new THREE.BufferGeometry();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					var vertices = new Float32Array( width * height * 3 );
 | 
	
		
			
				|  |  | +				var vertices = new Float32Array( width * height * 3 );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					for ( var i = 0, j = 0, l = vertices.length; i < l; i += 3, j ++ ) {
 | 
	
		
			
				|  |  | +				for ( var i = 0, j = 0, l = vertices.length; i < l; i += 3, j ++ ) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -						vertices[ i ] = j % width;
 | 
	
		
			
				|  |  | -						vertices[ i + 1 ] = Math.floor( j / width );
 | 
	
		
			
				|  |  | +					vertices[ i ] = j % width;
 | 
	
		
			
				|  |  | +					vertices[ i + 1 ] = Math.floor( j / width );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					}
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
 | 
	
		
			
				|  |  | +				geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					material = new THREE.ShaderMaterial( {
 | 
	
		
			
				|  |  | +				material = new THREE.ShaderMaterial( {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -						uniforms: {
 | 
	
		
			
				|  |  | +					uniforms: {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -							"map": { value: texture },
 | 
	
		
			
				|  |  | -							"width": { value: width },
 | 
	
		
			
				|  |  | -							"height": { value: height },
 | 
	
		
			
				|  |  | -							"nearClipping": { value: nearClipping },
 | 
	
		
			
				|  |  | -							"farClipping": { value: farClipping },
 | 
	
		
			
				|  |  | +						"map": { value: texture },
 | 
	
		
			
				|  |  | +						"width": { value: width },
 | 
	
		
			
				|  |  | +						"height": { value: height },
 | 
	
		
			
				|  |  | +						"nearClipping": { value: nearClipping },
 | 
	
		
			
				|  |  | +						"farClipping": { value: farClipping },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -							"pointSize": { value: 2 },
 | 
	
		
			
				|  |  | -							"zOffset": { value: 1000 }
 | 
	
		
			
				|  |  | +						"pointSize": { value: 2 },
 | 
	
		
			
				|  |  | +						"zOffset": { value: 1000 }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -						},
 | 
	
		
			
				|  |  | -						vertexShader: document.getElementById( 'vs' ).textContent,
 | 
	
		
			
				|  |  | -						fragmentShader: document.getElementById( 'fs' ).textContent,
 | 
	
		
			
				|  |  | -						blending: THREE.AdditiveBlending,
 | 
	
		
			
				|  |  | -						depthTest: false, depthWrite: false,
 | 
	
		
			
				|  |  | -						transparent: true
 | 
	
		
			
				|  |  | +					},
 | 
	
		
			
				|  |  | +					vertexShader: document.getElementById( 'vs' ).textContent,
 | 
	
		
			
				|  |  | +					fragmentShader: document.getElementById( 'fs' ).textContent,
 | 
	
		
			
				|  |  | +					blending: THREE.AdditiveBlending,
 | 
	
		
			
				|  |  | +					depthTest: false, depthWrite: false,
 | 
	
		
			
				|  |  | +					transparent: true
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					} );
 | 
	
		
			
				|  |  | +				} );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					mesh = new THREE.Points( geometry, material );
 | 
	
		
			
				|  |  | -					scene.add( mesh );
 | 
	
		
			
				|  |  | +				mesh = new THREE.Points( geometry, material );
 | 
	
		
			
				|  |  | +				scene.add( mesh );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -					var gui = new GUI();
 | 
	
		
			
				|  |  | -					gui.add( material.uniforms.nearClipping, 'value', 1, 10000, 1.0 ).name( 'nearClipping' );
 | 
	
		
			
				|  |  | -					gui.add( material.uniforms.farClipping, 'value', 1, 10000, 1.0 ).name( 'farClipping' );
 | 
	
		
			
				|  |  | -					gui.add( material.uniforms.pointSize, 'value', 1, 10, 1.0 ).name( 'pointSize' );
 | 
	
		
			
				|  |  | -					gui.add( material.uniforms.zOffset, 'value', 0, 4000, 1.0 ).name( 'zOffset' );
 | 
	
		
			
				|  |  | -					gui.close();
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -				}, false );
 | 
	
		
			
				|  |  | +				var gui = new GUI();
 | 
	
		
			
				|  |  | +				gui.add( material.uniforms.nearClipping, 'value', 1, 10000, 1.0 ).name( 'nearClipping' );
 | 
	
		
			
				|  |  | +				gui.add( material.uniforms.farClipping, 'value', 1, 10000, 1.0 ).name( 'farClipping' );
 | 
	
		
			
				|  |  | +				gui.add( material.uniforms.pointSize, 'value', 1, 10, 1.0 ).name( 'pointSize' );
 | 
	
		
			
				|  |  | +				gui.add( material.uniforms.zOffset, 'value', 0, 4000, 1.0 ).name( 'zOffset' );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				video.play();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +				//
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  				renderer = new THREE.WebGLRenderer();
 | 
	
		
			
				|  |  |  				renderer.setPixelRatio( window.devicePixelRatio );
 | 
	
		
			
				|  |  |  				renderer.setSize( window.innerWidth, window.innerHeight );
 |