function onprogress( data ) {

		while ( idx < meshEntry.length ) {

			var meshParams = meshEntry[ idx ];
			var indexRange = meshParams.indexRange;

			if ( indexRange ) {

				var meshEnd = indexRange[ 0 ] + 3 * indexRange[ 1 ];

				if ( data.length < meshEnd ) break;

				loader.decompressMesh( data, meshParams, decodeParams, name, idx, callback );

			} else {

				var codeRange = meshParams.codeRange;
				var meshEnd = codeRange[ 0 ] + codeRange[ 1 ];

				if ( data.length < meshEnd ) break;

				loader.decompressMesh2( data, meshParams, decodeParams, name, idx, callback );
			}

			++ idx;

		}

	}
Load UTF8 encoded model
@param jsonUrl - URL from which to load json containing information about model
@param callback - Callback(THREE.Object3D) on successful loading of model
@param options - options on how to load model (see THREE.MTLLoader.MaterialCreator for basic options)
                 Additional options include
                  geometryBase: Base url from which to load referenced geometries
                  materialBase: Base url from which to load referenced textures