Three.js: GLTFLoader ImageBitmapLoader überschreibt Loader für Typen, die nicht verarbeitet werden können

Erstellt am 25. Juni 2020  ·  3Kommentare  ·  Quelle: mrdoob/three.js

Beschreibung des Problems

Aufgrund der kürzlich hinzugefügten Verwendung von BitmapLoader in GLFTLoader (https://github.com/mrdoob/three.js/pull/19518) wird die Verwendung von Handlern für bestimmte Dateiformate vom BitmapLoader überschrieben.

In r117 müssten Sie nur hinzufügen, um Basistexturen für gltf-Dateien zu unterstützen

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

Dies ist nicht mehr möglich, da die Auflösung hier überschrieben wird: https://github.com/mrdoob/three.js/blob/7df06a0e4054247f87a7b5aa555ca97cd6b15662/examples/jsm/loaders/GLTFLoader.js#L20 -77

Ich erhalte die folgende Fehlermeldung:

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)
Three.js Version
  • [x] Dev
  • [x] r118
  • [] r117
Browser
  • [ ] Alle von ihnen
  • [x] Chrome
  • [ ] Feuerfuchs
  • [ ] Kante
Betriebssystem
  • [x] Alle von ihnen
  • [] Windows
  • [ ] Mac OS
  • [] Linux
  • [ ] Android
  • [] iOS
Hardwareanforderungen (Grafikkarte, VR-Gerät, ...)
Bug Loaders

Hilfreichster Kommentar

@ Mugen87 Ja, das behebt das Problem für mich. Vielen Dank, dass Sie sich so schnell um den Fehler gekümmert haben!

Alle 3 Kommentare

Der gleiche Fehler tritt bei einem der offiziellen Beispiele auf, wenn die Erweiterung glTF-dds :

https://threejs.org/examples/webgl_loader_gltf_extensions

@JohannesDeml Können Sie bitte überprüfen, ob die verknüpfte PR Ihr Problem löst? Zumindest konnte ich das DDS-Beispiel damit reparieren ^^.

@ Mugen87 Ja, das behebt das Problem für mich. Vielen Dank, dass Sie sich so schnell um den Fehler gekümmert haben!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen