浏览代码

KTX2Loader: Warn on missing call to detectSupport(). (#22519)

Don McCurdy 3 年之前
父节点
当前提交
43f14f14e8
共有 2 个文件被更改,包括 16 次插入4 次删除
  1. 8 2
      examples/js/loaders/KTX2Loader.js
  2. 8 2
      examples/jsm/loaders/KTX2Loader.js

+ 8 - 2
examples/js/loaders/KTX2Loader.js

@@ -117,6 +117,12 @@
 
 		load( url, onLoad, onProgress, onError ) {
 
+			if ( this.workerConfig === null ) {
+
+				throw new Error( 'THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.' );
+
+			}
+
 			const loader = new THREE.FileLoader( this.manager );
 			loader.setResponseType( 'arraybuffer' );
 			loader.setWithCredentials( this.withCredentials );
@@ -146,7 +152,7 @@
 
 		}
 
-		createTextureFrom( transcodeResult ) {
+		_createTextureFrom( transcodeResult ) {
 
 			const {
 				mipmaps,
@@ -187,7 +193,7 @@
 					taskConfig: taskConfig
 				}, buffers );
 
-			} ).then( e => this.createTextureFrom( e.data ) ); // Cache the task result.
+			} ).then( e => this._createTextureFrom( e.data ) ); // Cache the task result.
 
 			_taskCache.set( buffers[ 0 ], {
 				promise: texturePending

+ 8 - 2
examples/jsm/loaders/KTX2Loader.js

@@ -162,6 +162,12 @@ class KTX2Loader extends Loader {
 
 	load( url, onLoad, onProgress, onError ) {
 
+		if ( this.workerConfig === null ) {
+
+			throw new Error( 'THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.' );
+
+		}
+
 		const loader = new FileLoader( this.manager );
 
 		loader.setResponseType( 'arraybuffer' );
@@ -198,7 +204,7 @@ class KTX2Loader extends Loader {
 
 	}
 
-	createTextureFrom( transcodeResult ) {
+	_createTextureFrom( transcodeResult ) {
 		const { mipmaps, width, height, format, type, error, dfdTransferFn, dfdFlags } = transcodeResult;
 
 		if ( type === 'error' ) return Promise.reject( error );
@@ -227,7 +233,7 @@ class KTX2Loader extends Loader {
 
 			return this.workerPool.postMessage( { type: 'transcode', buffers, taskConfig: taskConfig }, buffers );
 
-		} ).then( ( e ) => this.createTextureFrom( e.data ) );
+		} ).then( ( e ) => this._createTextureFrom( e.data ) );
 
 		// Cache the task result.
 		_taskCache.set( buffers[ 0 ], { promise: texturePending } );