loadTexture method

Future<Texture?> loadTexture(
  1. dynamic textureIndex
)

Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures @param {number} textureIndex @return {Promise<THREE.Texture>}

Implementation

Future<Texture?> loadTexture(textureIndex) async {
  final parser = this;
  Map<String, dynamic> json = this.json;
  final options = this.options;

  Map<String, dynamic> textureDef = json["textures"][textureIndex];
  final sourceIndex = textureDef["source"] ?? 0;
  final sourceDef = json["images"][sourceIndex];
  final textureExtensions = textureDef["extensions"] ?? {};

  dynamic loader;

  if (sourceDef["uri"] != null) {
    loader = (options["manager"] as LoadingManager).getHandler(sourceDef["uri"]);
  }

  loader ??= textureExtensions[gltfExtensions["MSFT_TEXTURE_DDS"]] != null
      ? parser.extensions[gltfExtensions["MSFT_TEXTURE_DDS"]]["ddsLoader"]
      : textureLoader;

  return loadTextureImage(textureIndex, sourceIndex, loader);
}