Browse Source

GLTFExporter: Better error handling when using invalid image data. (#27700)

Michael Herzog 1 year ago
parent
commit
76bff1eb95
1 changed files with 11 additions and 1 deletions
  1. 11 1
      examples/jsm/exporters/GLTFExporter.js

+ 11 - 1
examples/jsm/exporters/GLTFExporter.js

@@ -1288,7 +1288,17 @@ class GLTFWriter {
 
 			} else {
 
-				ctx.drawImage( image, 0, 0, canvas.width, canvas.height );
+				if ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) ||
+					( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) ||
+					( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) {
+
+					ctx.drawImage( image, 0, 0, canvas.width, canvas.height );
+
+				} else {
+
+					throw new Error( 'THREE.GLTFExporter: Invalid image type. Use HTMLImageElement, HTMLCanvasElement or ImageBitmap.' );
+
+				}
 
 			}