xture.image.data[ index + offset ] = x / w * 255;
				// 		texture.image.data[ index + 2 ] = y % 2 == 0 ?  255 : 0;

				// 	}

				// }

				plane.material.uniforms.map.value = texture;

				if ( ! linearTarget ) {

					linearTarget = new THREE.WebGLRenderTarget();
					nearestTarget = new THREE.WebGLRenderTarget();
					nearestTarget.texture.minFilter = THREE.NearestFilter;
					nearestTarget.texture.magFilter = THREE.NearestFilter;

				}

				// render mip pyramids
				const mipMapper = new PackedMipMa