loadTexture2 method

Future<Texture?>? loadTexture2(
  1. int textureIndex
)

Implementation

Future<Texture?>? loadTexture2(int textureIndex) {
  final name = this.name;
  final parser = this.parser;
  Map<String, dynamic> json = parser.json;
  Map<String, dynamic> textureDef = json["textures"][textureIndex];

  if (textureDef["extensions"] == null || textureDef["extensions"][name] == null) {
    return null;
  }

  final exten = textureDef["extensions"][name];
  final source = json["images"][exten["source"]];
  final loader = source['uri'] != null
      ? parser.options['manager'].getHandler(source['uri']) ?? parser.textureLoader
      : parser.textureLoader;

  final isSupported = detectSupport();

  if (isSupported){
    return parser.loadTextureImage(textureIndex, exten["source"], loader);
  }

  if (json["extensionsRequired"] != null &&
      json["extensionsRequired"].indexOf(name) >= 0) {
    throw ('THREE.GLTFLoader: WebP required by asset but unsupported.');
  }

  // Fall back to PNG or JPEG.
  return parser.loadTexture(textureIndex);
}