未验证 提交 fb2c4aa8 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #19738 from Mugen87/dev43

GLTFLoader: Fix usage of ImageBitmapLoader.
......@@ -1468,11 +1468,9 @@ THREE.GLTFLoader = ( function () {
// BufferGeometry caching
this.primitiveCache = {};
this.useImageBitmap = typeof createImageBitmap !== 'undefined' && /Firefox/.test( navigator.userAgent ) === false;
// Use an ImageBitmapLoader if imageBitmaps are supported. Moves much of the
// expensive work of uploading a texture to the GPU off the main thread.
if ( this.useImageBitmap ) {
if ( typeof createImageBitmap !== 'undefined' && /Firefox/.test( navigator.userAgent ) === false ) {
this.textureLoader = new THREE.ImageBitmapLoader( this.options.manager );
......@@ -1956,7 +1954,6 @@ THREE.GLTFLoader = ( function () {
var parser = this;
var json = this.json;
var options = this.options;
var useImageBitmap = this.useImageBitmap;
var textureLoader = this.textureLoader;
var URL = self.URL || self.webkitURL;
......@@ -2013,7 +2010,7 @@ THREE.GLTFLoader = ( function () {
var onLoad = resolve;
if ( useImageBitmap ) {
if ( loader.isImageBitmapLoader === true ) {
onLoad = function ( imageBitmap ) {
......
......@@ -1533,11 +1533,9 @@ var GLTFLoader = ( function () {
// BufferGeometry caching
this.primitiveCache = {};
this.useImageBitmap = typeof createImageBitmap !== 'undefined' && /Firefox/.test( navigator.userAgent ) === false;
// Use an ImageBitmapLoader if imageBitmaps are supported. Moves much of the
// expensive work of uploading a texture to the GPU off the main thread.
if ( this.useImageBitmap ) {
if ( typeof createImageBitmap !== 'undefined' && /Firefox/.test( navigator.userAgent ) === false ) {
this.textureLoader = new ImageBitmapLoader( this.options.manager );
......@@ -2021,7 +2019,6 @@ var GLTFLoader = ( function () {
var parser = this;
var json = this.json;
var options = this.options;
var useImageBitmap = this.useImageBitmap;
var textureLoader = this.textureLoader;
var URL = self.URL || self.webkitURL;
......@@ -2078,7 +2075,7 @@ var GLTFLoader = ( function () {
var onLoad = resolve;
if ( useImageBitmap ) {
if ( loader.isImageBitmapLoader === true ) {
onLoad = function ( imageBitmap ) {
......
......@@ -7,6 +7,8 @@ export class ImageBitmapLoader extends Loader {
options: undefined | object;
readonly isImageBitmapLoader: true;
setOptions( options: object ): ImageBitmapLoader;
load(
url: string,
......
......@@ -30,6 +30,8 @@ ImageBitmapLoader.prototype = Object.assign( Object.create( Loader.prototype ),
constructor: ImageBitmapLoader,
isImageBitmapLoader: true,
setOptions: function setOptions( options ) {
this.options = options;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册