Three.js: GLTFLoader ImageBitmapLoader remplace les chargeurs pour les types qu'il ne peut pas gérer

Créé le 25 juin 2020  ·  3Commentaires  ·  Source: mrdoob/three.js

description du problème

En raison de l'utilisation récemment ajoutée de BitmapLoader dans GLFTLoader (https://github.com/mrdoob/three.js/pull/19518), l'utilisation de gestionnaires pour des formats de fichiers spécifiques sera écrasée à partir de BitmapLoader.

Dans r117 pour prendre en charge les textures de base pour les fichiers gltf, il vous suffit d'ajouter

var basisLoader = new BasisTextureLoader();
basisLoader.setTranscoderPath( 'js/libs/basis/' );
basisLoader.detectSupport( renderer );
THREE.DefaultLoadingManager.addHandler( /\.basis$/, basisLoader );

Ce n'est plus possible, car la résolution sera écrasée ici: https://github.com/mrdoob/three.js/blob/7df06a0e4054247f87a7b5aa555ca97cd6b15662/examples/jsm/loaders/GLTFLoader.js#L2077 -L2093

J'obtiens l'erreur suivante:

THREE.WebGLState: TypeError: Failed to execute 'texImage2D' on 'WebGL2RenderingContext': No function was found that matched the signature provided.
    at Object.texImage2D (three.module.js:21828)
    at uploadTexture (three.module.js:22749)
    at setTexture2D (three.module.js:22274)
    at WebGLTextures.safeSetTexture2D (three.module.js:23169)
    at SingleUniform.setValueT1 [as setValue] (three.module.js:17755)
    at Function.WebGLUniforms.upload (three.module.js:18260)
    at setProgram (three.module.js:26406)
    at WebGLRenderer.renderBufferDirect (three.module.js:25441)
    at renderObject (three.module.js:25994)
    at renderObjects (three.module.js:25966)
Version Three.js
  • [x] Dev
  • [x] r118
  • [] r117
Le navigateur
  • [ ] Tous
  • [x] Chrome
  • [] Firefox
  • [ ] Bord
OS
  • [x] Tous
  • [ ] Les fenêtres
  • [] macOS
  • [] Linux
  • [ ] Android
  • [] iOS
Configuration matérielle requise (carte graphique, périphérique VR, ...)
Bug Loaders

Commentaire le plus utile

@ Mugen87 Oui, cela résout le problème pour moi. Merci beaucoup d'avoir pris soin du bogue si vite!

Tous les 3 commentaires

La même erreur se produit avec l'un des exemples officiels lors de l'utilisation de l'extension glTF-dds :

https://threejs.org/examples/webgl_loader_gltf_extensions

@JohannesDeml Pouvez-vous s'il vous plaît vérifier si le PR lié résout votre problème? Au moins, je pourrais corriger l'exemple DDS avec ^^.

@ Mugen87 Oui, cela résout le problème pour moi. Merci beaucoup d'avoir pris soin du bogue si vite!

Cette page vous a été utile?
0 / 5 - 0 notes