Browse Source

Use 'blob:...' URL to speed up parsing of texture buffers.

Don McCurdy 8 years ago
parent
commit
d0b32bfe06
1 changed files with 10 additions and 2 deletions
  1. 10 2
      examples/js/loaders/GLTF2Loader.js

+ 10 - 2
examples/js/loaders/GLTF2Loader.js

@@ -640,6 +640,13 @@ THREE.GLTF2Loader = ( function () {
 
 
 		}
 		}
 
 
+		// Blob URL
+		if ( /^blob:.*$/i.test( url ) ) {
+
+			return url;
+
+		}
+
 		// Relative URL
 		// Relative URL
 		return ( path || '' ) + url;
 		return ( path || '' ) + url;
 
 
@@ -1070,8 +1077,9 @@ THREE.GLTF2Loader = ( function () {
 						if ( source.bufferView !== undefined ) {
 						if ( source.bufferView !== undefined ) {
 
 
 							var bufferView = dependencies.bufferViews[ source.bufferView ];
 							var bufferView = dependencies.bufferViews[ source.bufferView ];
-							var stringData = convertUint8ArrayToString( new Uint8Array( bufferView ) );
-							sourceUri = 'data:' + source.mimeType + ';base64,' + btoa( stringData );
+							var blob = new Blob( [ bufferView ], { type: source.mimeType } );
+							var urlCreator = window.URL || window.webkitURL;
+							sourceUri = urlCreator.createObjectURL( blob );
 
 
 						}
 						}