n.z = 2750;

				scene = new THREE.Scene();
				scene.background = new THREE.Color( 0x050505 );
				scene.fog = new THREE.Fog( 0x050505, 2000, 3500 );

				//

				const particles = 500000;

				const geometry = new THREE.BufferGeometry();

				// create a generic buffer of binary data (a single particle has 16 bytes of data)

				const arrayBuffer = new ArrayBuffer( particles * 16 );

				// the following typed arrays share the same buffer

				const interleavedFloat32Buffer = new Float32Array( arrayBuffer